Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp617612ybl; Fri, 24 Jan 2020 06:31:46 -0800 (PST) X-Google-Smtp-Source: APXvYqz+QSQSA6/lZZ2JhJ8z1W0uMUoAXgIz8Y9rKxfB/QX+8XEb1wvQ7SKIuPlYDcuFWVD51wv3 X-Received: by 2002:a05:6808:5d0:: with SMTP id d16mr2170007oij.45.1579876306242; Fri, 24 Jan 2020 06:31:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579876306; cv=none; d=google.com; s=arc-20160816; b=s3hC0rCeWWsmTRJCcoT1oVRJTck2nBLjOSSRdch0D88bG9DURrFqPVjqlAk9uKmr76 XB1Z/O6nKPGvsmWER+1U/v7fzIVTAA8hDb+0zHnnBpkpeUMsrb5zh1Z6O5ugHcrNWxZp cOZeKnA6K8Uaz1PhS1zsFRDjPSZ4QqTr6DxsWEenzN9BApSdrIxRSluZcZv9QQ0oMR4f ZfmomAoDHGVcW5ThXgjMZkvLGu1mWPRxlrR0xFe/TFGCNb/B+7JiCFtNffFm+b8LjAfE wKZyfWnXV2Bt7KGcpqdaj5xfYD10W0c4EAhSuKEzMJDfGv2HF+PyM0iOcuzkQMuuRLRI PMgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=3Pf7pg2nPdhc2/iL3QB4hQKKafu0rASsZopkNfEMHQ8=; b=Ta1D34V+D9WrD8QOBhZmOnJqK/hesekyNM5VH3nfAFf+qTyLimI/m57g6/vz2mXLyZ nXkyfGCaM2wUgLuVmt7xSHiRnTwI+OE7cz6l48xCHBFOyg9RK2qzra7XrqGFDJkAVVz/ 2Q5q3Py6rSvtrN0DDM118fYw9C0Jh9ier+cWebLmNBt/SQLzNDZ2d+ICk+RDlHXXtXnM 3UP2+jMxnYmNyWfBj/8UqqhfLtk10Y7GZCiXhFM0HlYI8mFEik1FPEjGlr1tpkyxajeZ johQZXkOlnKJo0VIw4ioewaUCpDI4HuQCt/N5k+Uq8YZ6Gk2Fqt0BFDASdLqeo69kSdQ XVUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="N/Y/apHx"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f189si2349244oib.268.2020.01.24.06.31.33; Fri, 24 Jan 2020 06:31:46 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="N/Y/apHx"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391592AbgAXL3W (ORCPT + 99 others); Fri, 24 Jan 2020 06:29:22 -0500 Received: from mail.kernel.org ([198.145.29.99]:46028 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2391681AbgAXL3S (ORCPT ); Fri, 24 Jan 2020 06:29:18 -0500 Received: from localhost (ip-213-127-102-57.ip.prioritytelecom.net [213.127.102.57]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 9FD872075D; Fri, 24 Jan 2020 11:29:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1579865358; bh=lmUc0VtjCgXhUX9tYSOjITsm7gVF5YfOIr6LCpdPBGk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=N/Y/apHxkMik3pOD26IkokGzCipIZJ8qO1VOybzoNXhWwISQNU187MUw/Q8darXlK B7PTI2eZRrJSE8qf3B/nAZHDbpi2BBdnEI+0LzapLisErpmx5GTK/YGdKzlql0ZelU M+aovN+3aUk84gPfzht8XEJ3jUSgyE7xmW+pyCJA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Vasundhara Volam , Michael Chan , "David S. Miller" , Sasha Levin Subject: [PATCH 4.19 511/639] bnxt_en: Fix handling FRAG_ERR when NVM_INSTALL_UPDATE cmd fails Date: Fri, 24 Jan 2020 10:31:21 +0100 Message-Id: <20200124093152.821324986@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200124093047.008739095@linuxfoundation.org> References: <20200124093047.008739095@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Vasundhara Volam [ Upstream commit dd2ebf3404c7c295014bc025dea23960960ceb1a ] If FW returns FRAG_ERR in response error code, driver is resending the command only when HWRM command returns success. Fix the code to resend NVM_INSTALL_UPDATE command with DEFRAG install flags, if FW returns FRAG_ERR in its response error code. Fixes: cb4d1d626145 ("bnxt_en: Retry failed NVM_INSTALL_UPDATE with defragmentation flag enabled.") Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c index dc63d269f01dc..cdbb8940a4ae5 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c @@ -1778,21 +1778,19 @@ static int bnxt_flash_package_from_file(struct net_device *dev, mutex_lock(&bp->hwrm_cmd_lock); hwrm_err = _hwrm_send_message(bp, &install, sizeof(install), INSTALL_PACKAGE_TIMEOUT); - if (hwrm_err) - goto flash_pkg_exit; - - if (resp->error_code) { + if (hwrm_err) { u8 error_code = ((struct hwrm_err_output *)resp)->cmd_err; - if (error_code == NVM_INSTALL_UPDATE_CMD_ERR_CODE_FRAG_ERR) { + if (resp->error_code && error_code == + NVM_INSTALL_UPDATE_CMD_ERR_CODE_FRAG_ERR) { install.flags |= cpu_to_le16( NVM_INSTALL_UPDATE_REQ_FLAGS_ALLOWED_TO_DEFRAG); hwrm_err = _hwrm_send_message(bp, &install, sizeof(install), INSTALL_PACKAGE_TIMEOUT); - if (hwrm_err) - goto flash_pkg_exit; } + if (hwrm_err) + goto flash_pkg_exit; } if (resp->result) { -- 2.20.1