bnxt_en: Handle firmware reset.
Add the bnxt_fw_reset() main function to handle firmware reset. This is triggered by firmware to initiate an orderly reset, for example when a non-fatal exception condition has been detected. bnxt_fw_reset() will first wait for all VFs to shutdown and then start the bnxt_fw_reset_task() work queue to go through the sequence of reset, re-probe, and re-initialization. The next patch will add the devlink reporter to start the sequence and call bnxt_fw_reset(). Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
2151fe0830
commit
230d1f0de7
@@ -226,6 +226,9 @@ static int bnxt_send_msg(struct bnxt_en_dev *edev, int ulp_id,
|
||||
struct input *req;
|
||||
int rc;
|
||||
|
||||
if (ulp_id != BNXT_ROCE_ULP && bp->fw_reset_state)
|
||||
return -EBUSY;
|
||||
|
||||
mutex_lock(&bp->hwrm_cmd_lock);
|
||||
req = fw_msg->msg;
|
||||
req->resp_addr = cpu_to_le64(bp->hwrm_cmd_resp_dma_addr);
|
||||
|
||||
Reference in New Issue
Block a user