From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752568AbdIVWcr (ORCPT ); Fri, 22 Sep 2017 18:32:47 -0400 Received: from a2nlsmtp01-05.prod.iad2.secureserver.net ([198.71.225.49]:34390 "EHLO a2nlsmtp01-05.prod.iad2.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752083AbdIVWcp (ORCPT ); Fri, 22 Sep 2017 18:32:45 -0400 x-originating-ip: 107.180.71.197 From: Haiyang Zhang To: davem@davemloft.net, netdev@vger.kernel.org Cc: haiyangz@microsoft.com, kys@microsoft.com, olaf@aepfle.de, vkuznets@redhat.com, linux-kernel@vger.kernel.org Subject: [PATCH net-next] hv_netvsc: Fix the real number of queues of non-vRSS cases Date: Fri, 22 Sep 2017 15:31:38 -0700 Message-Id: <20170922223138.28348-1-haiyangz@exchange.microsoft.com> X-Mailer: git-send-email 2.14.1 Reply-To: haiyangz@microsoft.com X-CMAE-Envelope: MS4wfI79l2m0kmaACZs3OPDuP+yI9CkugJVI/NyMGS9eXZS9UZg19Ggi7XRuSoDKBZZkz8Js4v2KUH5P7Gtfr9oRQyDXEsKVBgYdKLtCNZOm4E70O5ziHXXR 2S1tp1ImJJ3bP57Hrnra/qOAysA/6Df7qjhvR9HU3ec9J8EUY+/iNcsrHJxhNa+ICPVgAaROUzw930v02lfykSrC/XcpkmRoLKnSjE5JfRCS5Ph61YpCZHDL BfwEGvYbC2CknIooTXR60lfLjA+wKL57uG5CMH5OQPqpP+5J/9d6gvi32MN3uHz+iZ5NBGn+DxpH17v6L+cAmY0PP2DDc5d77NCn0uyiqsqvqfjyABgNm73F V3KK5nwnE3JWjU/0T/W4HjpAD9ekPg== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Haiyang Zhang For older hosts without multi-channel (vRSS) support, and some error cases, we still need to set the real number of queues to one. This patch adds this missing setting. Fixes: 8195b1396ec8 ("hv_netvsc: fix deadlock on hotplug") Signed-off-by: Haiyang Zhang --- drivers/net/hyperv/netvsc_drv.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c index d4902ee5f260..68eac12fbf75 100644 --- a/drivers/net/hyperv/netvsc_drv.c +++ b/drivers/net/hyperv/netvsc_drv.c @@ -1929,6 +1929,12 @@ static int netvsc_probe(struct hv_device *dev, /* We always need headroom for rndis header */ net->needed_headroom = RNDIS_AND_PPI_SIZE; + /* Initialize the number of queues to be 1, we may change it if more + * channels are offered later. + */ + netif_set_real_num_tx_queues(net, 1); + netif_set_real_num_rx_queues(net, 1); + /* Notify the netvsc driver of the new device */ memset(&device_info, 0, sizeof(device_info)); device_info.ring_size = ring_size; -- 2.14.1