Olaf Hering e7a430
From: Haiyang Zhang <haiyangz@microsoft.com>
Olaf Hering e7a430
Date: Fri, 22 Sep 2017 15:31:38 -0700
Olaf Hering e7a430
Patch-mainline: v4.15-rc1
Olaf Hering e7a430
Subject: hv_netvsc: Fix the real number of queues of non-vRSS cases
Olaf Hering e7a430
Git-commit: 6450f8f269a9271985e4a8c13920b7e4cf21c0f3
Olaf Hering e7a430
References: fate#323887
Olaf Hering e7a430
Olaf Hering e7a430
For older hosts without multi-channel (vRSS) support, and some error
Olaf Hering e7a430
cases, we still need to set the real number of queues to one.
Olaf Hering e7a430
This patch adds this missing setting.
Olaf Hering e7a430
Olaf Hering e7a430
Fixes: 8195b1396ec8 ("hv_netvsc: fix deadlock on hotplug")
Olaf Hering e7a430
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Olaf Hering e7a430
Reviewed-by: Stephen Hemminger <sthemmin@microsoft.com>
Olaf Hering e7a430
Signed-off-by: David S. Miller <davem@davemloft.net>
Olaf Hering e7a430
Acked-by: Olaf Hering <ohering@suse.de>
Olaf Hering e7a430
---
Olaf Hering e7a430
 drivers/net/hyperv/netvsc_drv.c | 6 ++++++
Olaf Hering e7a430
 1 file changed, 6 insertions(+)
Olaf Hering e7a430
Olaf Hering e7a430
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
Olaf Hering e7a430
--- a/drivers/net/hyperv/netvsc_drv.c
Olaf Hering e7a430
+++ b/drivers/net/hyperv/netvsc_drv.c
Olaf Hering e7a430
@@ -1935,6 +1935,12 @@ static int netvsc_probe(struct hv_device *dev,
Olaf Hering e7a430
 	/* We always need headroom for rndis header */
Olaf Hering e7a430
 	net->needed_headroom = RNDIS_AND_PPI_SIZE;
Olaf Hering e7a430
 
Olaf Hering e7a430
+	/* Initialize the number of queues to be 1, we may change it if more
Olaf Hering e7a430
+	 * channels are offered later.
Olaf Hering e7a430
+	 */
Olaf Hering e7a430
+	netif_set_real_num_tx_queues(net, 1);
Olaf Hering e7a430
+	netif_set_real_num_rx_queues(net, 1);
Olaf Hering e7a430
+
Olaf Hering e7a430
 	/* Notify the netvsc driver of the new device */
Olaf Hering e7a430
 	memset(&device_info, 0, sizeof(device_info));
Olaf Hering e7a430
 	device_info.ring_size = ring_size;