From patchwork Mon May 14 22:32:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 913323 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=networkplumber.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=networkplumber-org.20150623.gappssmtp.com header.i=@networkplumber-org.20150623.gappssmtp.com header.b="NqAVIfD6"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40lFpM3F8hz9s08 for ; Tue, 15 May 2018 08:33:15 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752374AbeENWdO (ORCPT ); Mon, 14 May 2018 18:33:14 -0400 Received: from mail-pf0-f195.google.com ([209.85.192.195]:43272 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752155AbeENWdD (ORCPT ); Mon, 14 May 2018 18:33:03 -0400 Received: by mail-pf0-f195.google.com with SMTP id j20-v6so6678964pff.10 for ; Mon, 14 May 2018 15:33:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=/ohKudpzmqxvfEW/CMuw69BGL5ANoP5LC0+G5rbPN5c=; b=NqAVIfD6z6NZ/5A4YznaRjVgSc1ijngOG4E3IH7T6vrUK5Qwvqia1NZx4BrGLq9SDN oKRTVggT0MREhPoZxd26D1QXpbO+kAIdN6XfuqTQtPb5tjiVv9utu7eYDbBL1E2QHz5P zQd0uWt8xDzXVY0HME5/o/JVOZ+OeiFYCzuTtjcPdPdBlSfp7ChjJqss0Tu28PH3jzcq obolyI0wfv35Jz09XLQnuO4bXdFCqKzcyZDBjx9zeTR9EItHyTfKr1HMtQzshtTqLVKW FO+ErjqI5Z8GM95rDDL0e/ed/DWL7VK09zwNj9G2b/USv+FPHVFeVhhYyFtaov/agmd1 7weg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=/ohKudpzmqxvfEW/CMuw69BGL5ANoP5LC0+G5rbPN5c=; b=avcDaqR1OqG/8lQ4K5YJRpLcaGs2elyGIltJ3EUBLxEk6nZrCOdm6rJIc1zx/TnqP0 kpHhAuiJhKwUO7gfdUSr8T6wSb3fqPMJlaJT7BG1dTvvwtGJO7SMBiXPnlq/AWyCbHf0 PM6n5T/CJkIuEMiP6SPYdffueJMf4JCLLv/hVhwtxCkvlOkdNs6arbAMpyqFcntQHKh+ C6hpzWQtQEDKeM0BZPa90O7CjcUJD8UconxiLktPcX0np5mJ6n0Z5a00zg0udTTcaeDH BnoBxMu1BUxkrwgdMRzh5t616n9mOsv4Mn+UhvSoivXTx+Uh13Cz6zJyMiScvPDDtHfv uXGA== X-Gm-Message-State: ALKqPwc1T8whybkpfkx4D9azm8bYfrXIfqYbpJXe8QOmXd+Yd6zxH9zP xGwOVpekvHfOW2g9etxVrc5Wwg== X-Google-Smtp-Source: AB8JxZr79Ae6bgsQUU8PHwJ/Aqa1lOt07BtqKSC5gayt5yW/G7eSf8BcfCMACJ7GBQen/t0pVSDjww== X-Received: by 2002:a63:a34d:: with SMTP id v13-v6mr9968168pgn.224.1526337183171; Mon, 14 May 2018 15:33:03 -0700 (PDT) Received: from xeon-e3.lan (204-195-35-107.wavecable.com. [204.195.35.107]) by smtp.gmail.com with ESMTPSA id y29-v6sm23827830pff.42.2018.05.14.15.33.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 14 May 2018 15:33:01 -0700 (PDT) From: Stephen Hemminger X-Google-Original-From: Stephen Hemminger To: davem@davemloft.net Cc: netdev@vger.kernel.org, Mohammed Gamal Subject: [PATCH net-stable 23/24] hv_netvsc: Fix net device attach on older Windows hosts Date: Mon, 14 May 2018 15:32:22 -0700 Message-Id: <20180514223223.25433-24-sthemmin@microsoft.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180514223223.25433-1-sthemmin@microsoft.com> References: <20180514223223.25433-1-sthemmin@microsoft.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Mohammed Gamal commit 55be9f25be1ca5bda75c39808fc77e42691bc07f upstream On older windows hosts the net_device instance is returned to the caller of rndis_filter_device_add() without having the presence bit set first. This would cause any subsequent calls to network device operations (e.g. MTU change, channel change) to fail after the device is detached once, returning -ENODEV. Instead of returning the device instabce, we take the exit path where we call netif_device_attach() Fixes: 7b2ee50c0cd5 ("hv_netvsc: common detach logic") Signed-off-by: Mohammed Gamal Reviewed-by: Stephen Hemminger Signed-off-by: David S. Miller --- drivers/net/hyperv/rndis_filter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis_filter.c index 3bfa56560286..6dde92c1c113 100644 --- a/drivers/net/hyperv/rndis_filter.c +++ b/drivers/net/hyperv/rndis_filter.c @@ -1276,7 +1276,7 @@ struct netvsc_device *rndis_filter_device_add(struct hv_device *dev, rndis_device->link_state ? "down" : "up"); if (net_device->nvsp_version < NVSP_PROTOCOL_VERSION_5) - return net_device; + goto out; rndis_filter_query_link_speed(rndis_device, net_device);