From patchwork Mon Jun 18 17:01:05 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Govindarajulu Varadarajan X-Patchwork-Id: 931227 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=pass (p=quarantine dis=none) header.from=cisco.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cisco.com header.i=@cisco.com header.b="F0UpzGgO"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 418p645c2Bz9s1B for ; Tue, 19 Jun 2018 10:01:32 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S937046AbeFSABa (ORCPT ); Mon, 18 Jun 2018 20:01:30 -0400 Received: from alln-iport-1.cisco.com ([173.37.142.88]:15971 "EHLO alln-iport-1.cisco.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936996AbeFSAB3 (ORCPT ); Mon, 18 Jun 2018 20:01:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=1354; q=dns/txt; s=iport; t=1529366489; x=1530576089; h=from:to:cc:subject:date:message-id; bh=dCtVlIhPlmqhKCxQQKjpoS7rjgAUu8VSWsZP/9yeCws=; b=F0UpzGgOuOf6MjRvE6srzMkVg0ViikGqGYNYCP87bB/pcPJE6gf+Zu35 XAeUaZwvTFxTDDHnzJQD16yFQmZpPzkKuJJJlenactYG1c7LLfgDGbiBg 71G7EOOLntd2m9JyTqtzyqA7dS4i1ZBkWNvHfBCoQCrkpytYh0YCz9nBi M=; X-IronPort-AV: E=Sophos;i="5.51,241,1526342400"; d="scan'208";a="131471032" Received: from rcdn-core-6.cisco.com ([173.37.93.157]) by alln-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Jun 2018 00:01:29 +0000 Received: from aarch.cisco.com (240m4avmarch.cisco.com [10.193.164.12]) (authenticated bits=0) by rcdn-core-6.cisco.com (8.14.5/8.14.5) with ESMTP id w5J01Mke004951 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Tue, 19 Jun 2018 00:01:28 GMT From: Govindarajulu Varadarajan To: davem@davemloft.net, netdev@vger.kernel.org, ben.hutchings@codethink.co.uk, benve@cisco.com, gregkh@linuxfoundation.org, alexander.levin@microsoft.com Cc: Govindarajulu Varadarajan Subject: [PATCH net] enic: do not overwrite error code Date: Mon, 18 Jun 2018 10:01:05 -0700 Message-Id: <20180618170105.1301-1-gvaradar@cisco.com> X-Mailer: git-send-email 2.17.1 X-Authenticated-User: gvaradar@cisco.com Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In failure path, we overwrite err to what vnic_rq_disable() returns. In case it returns 0, enic_open() returns success in case of error. Reported-by: Ben Hutchings Fixes: e8588e268509 ("enic: enable rq before updating rq descriptors") Signed-off-by: Govindarajulu Varadarajan --- drivers/net/ethernet/cisco/enic/enic_main.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c index 30d2eaa18c04..d3962fb0d32d 100644 --- a/drivers/net/ethernet/cisco/enic/enic_main.c +++ b/drivers/net/ethernet/cisco/enic/enic_main.c @@ -1920,7 +1920,7 @@ static int enic_open(struct net_device *netdev) { struct enic *enic = netdev_priv(netdev); unsigned int i; - int err; + int err, ret; err = enic_request_intr(enic); if (err) { @@ -1977,10 +1977,9 @@ static int enic_open(struct net_device *netdev) err_out_free_rq: for (i = 0; i < enic->rq_count; i++) { - err = vnic_rq_disable(&enic->rq[i]); - if (err) - return err; - vnic_rq_clean(&enic->rq[i], enic_free_rq_buf); + ret = vnic_rq_disable(&enic->rq[i]); + if (!ret) + vnic_rq_clean(&enic->rq[i], enic_free_rq_buf); } enic_dev_notify_unset(enic); err_out_free_intr: