aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/hyperv/netvsc
diff options
context:
space:
mode:
authorSepherosa Ziehau <sephe@FreeBSD.org>2016-08-29 05:08:53 +0000
committerSepherosa Ziehau <sephe@FreeBSD.org>2016-08-29 05:08:53 +0000
commit7681d6725add5d4cd26624ca5192bf568a727717 (patch)
tree33566750b3d9f5eb2767cf2991bd8e935b7b83ab /sys/dev/hyperv/netvsc
parente4e0ef792c5d6bbe76c8e28aeab55c9d8fa3f3c9 (diff)
Notes
Diffstat (limited to 'sys/dev/hyperv/netvsc')
-rw-r--r--sys/dev/hyperv/netvsc/hv_rndis_filter.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/sys/dev/hyperv/netvsc/hv_rndis_filter.c b/sys/dev/hyperv/netvsc/hv_rndis_filter.c
index cbc384e3b5fb..55da2324a13b 100644
--- a/sys/dev/hyperv/netvsc/hv_rndis_filter.c
+++ b/sys/dev/hyperv/netvsc/hv_rndis_filter.c
@@ -1377,8 +1377,14 @@ hv_rf_on_device_add(struct hn_softc *sc, void *additl_info,
dev_info->link_state = rndis_dev->link_status;
- if (sc->hn_ndis_ver < NDIS_VERSION_6_30 || nchan == 1)
+ if (sc->hn_ndis_ver < NDIS_VERSION_6_30 || nchan == 1) {
+ /*
+ * Either RSS is not supported, or multiple RX/TX rings
+ * are not requested.
+ */
+ *nchan0 = 1;
return (0);
+ }
/*
* Get RSS capabilities, e.g. # of RX rings, and # of indirect
@@ -1386,9 +1392,9 @@ hv_rf_on_device_add(struct hn_softc *sc, void *additl_info,
*/
ret = hn_rndis_get_rsscaps(sc, &rxr_cnt);
if (ret) {
- /* This is benign. */
- ret = 0;
- goto out;
+ /* No RSS; this is benign. */
+ *nchan0 = 1;
+ return (0);
}
if (nchan > rxr_cnt)
nchan = rxr_cnt;