From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9E7F3C388F7 for ; Sat, 31 Oct 2020 11:41:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 6446420791 for ; Sat, 31 Oct 2020 11:41:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604144478; bh=wcmhvwojMBAzrC1ZXw/Lq7c1TEW3cDdQYgghsLsd18E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=so9Sitj1VM2PBScMUE1bAo6EKPJx/Fxhq18TfBMlX76OHedNd0PCvsc0rS27sAcIs Ar0L82g7PRsIwcLFgXmxtpGsA0AOfE6sDCYW6iBeLtVmoHA/qNY8by1lDoSchHzGRn +Qd7ffD/p0fVPQ/U8kkbf2bJtfWGFL8qfs5vGUzY= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727649AbgJaLlQ (ORCPT ); Sat, 31 Oct 2020 07:41:16 -0400 Received: from mail.kernel.org ([198.145.29.99]:40174 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727146AbgJaLlM (ORCPT ); Sat, 31 Oct 2020 07:41:12 -0400 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (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 9A81520739; Sat, 31 Oct 2020 11:41:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604144471; bh=wcmhvwojMBAzrC1ZXw/Lq7c1TEW3cDdQYgghsLsd18E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Pyww8q9N7OLGMxMlaRcVBoMmVbFDHSj4qKu/dFtcj+7DfdwUqEsztSCnu0LncV+As c6BsYHiJ23KbSsCTBGcc2y9F0Cg5hYUjn/ui9LIwTN9zjXeA5zFWu/IMfBXPVEfWx5 F3AvaRBqYEFfexsDWB5Lkt577CPYFky9c7VZS3iw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Edwin Peer , Vasundhara Volam , Michael Chan , Jakub Kicinski Subject: [PATCH 5.8 31/70] bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally. Date: Sat, 31 Oct 2020 12:36:03 +0100 Message-Id: <20201031113500.991885624@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201031113459.481803250@linuxfoundation.org> References: <20201031113459.481803250@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Vasundhara Volam [ Upstream commit 825741b071722f1c8ad692cead562c4b5f5eaa93 ] In the AER or firmware reset flow, if we are in fatal error state or if pci_channel_offline() is true, we don't send any commands to the firmware because the commands will likely not reach the firmware and most commands don't matter much because the firmware is likely to be reset imminently. However, the HWRM_FUNC_RESET command is different and we should always attempt to send it. In the AER flow for example, the .slot_reset() call will trigger this fw command and we need to try to send it to effect the proper reset. Fixes: b340dc680ed4 ("bnxt_en: Avoid sending firmware messages when AER error is detected.") Reviewed-by: Edwin Peer Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan Signed-off-by: Jakub Kicinski Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -4188,7 +4188,8 @@ static int bnxt_hwrm_do_send_msg(struct u32 bar_offset = BNXT_GRCPF_REG_CHIMP_COMM; u16 dst = BNXT_HWRM_CHNL_CHIMP; - if (BNXT_NO_FW_ACCESS(bp)) + if (BNXT_NO_FW_ACCESS(bp) && + le16_to_cpu(req->req_type) != HWRM_FUNC_RESET) return -EBUSY; if (msg_len > BNXT_HWRM_MAX_REQ_LEN) {