Skip to content

Commit c4fd583

Browse files
Vasundhara Volamgregkh
authored andcommitted
bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally.
[ Upstream commit 825741b ] 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: b340dc6 ("bnxt_en: Avoid sending firmware messages when AER error is detected.") Reviewed-by: Edwin Peer <edwin.peer@broadcom.com> Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent c32f632 commit c4fd583

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

  • drivers/net/ethernet/broadcom/bnxt

drivers/net/ethernet/broadcom/bnxt/bnxt.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4296,7 +4296,8 @@ static int bnxt_hwrm_do_send_msg(struct bnxt *bp, void *msg, u32 msg_len,
42964296
u32 bar_offset = BNXT_GRCPF_REG_CHIMP_COMM;
42974297
u16 dst = BNXT_HWRM_CHNL_CHIMP;
42984298

4299-
if (BNXT_NO_FW_ACCESS(bp))
4299+
if (BNXT_NO_FW_ACCESS(bp) &&
4300+
le16_to_cpu(req->req_type) != HWRM_FUNC_RESET)
43004301
return -EBUSY;
43014302

43024303
if (msg_len > BNXT_HWRM_MAX_REQ_LEN) {

0 commit comments

Comments
 (0)