This is a note to let you know that I've just added the patch titled [PATCH stable 5.8 05/22] bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally. to the 5.8-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: bnxt_en-send-hwrm_func_reset-fw-command-unconditionally.patch and it can be found in the queue-5.8 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From foo@baz Sat Oct 31 09:06:02 AM CET 2020 From: Vasundhara Volam <vasundhara-v.volam@xxxxxxxxxxxx> Date: Mon, 26 Oct 2020 00:18:21 -0400 Subject: [PATCH stable 5.8 05/22] bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally. From: Vasundhara Volam <vasundhara-v.volam@xxxxxxxxxxxx> [ 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 <edwin.peer@xxxxxxxxxxxx> Signed-off-by: Vasundhara Volam <vasundhara-v.volam@xxxxxxxxxxxx> Signed-off-by: Michael Chan <michael.chan@xxxxxxxxxxxx> Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- 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) { Patches currently in stable-queue which might be from vasundhara-v.volam@xxxxxxxxxxxx are queue-5.8/bnxt_en-check-abort-error-state-in-bnxt_open_nic.patch queue-5.8/bnxt_en-fix-regression-in-workqueue-cleanup-logic-in-bnxt_remove_one.patch queue-5.8/bnxt_en-re-write-pci-bars-after-pci-fatal-error.patch queue-5.8/bnxt_en-invoke-cancel_delayed_work_sync-for-pfs-also.patch queue-5.8/bnxt_en-send-hwrm_func_reset-fw-command-unconditionally.patch