mirror of https://gitee.com/openkylin/linux.git
bnxt_en: Adjust the time to wait before polling firmware readiness.
When firmware indicates that driver needs to invoke firmware reset
which is common for both error recovery and live firmware reset path,
driver needs a different time to wait before polling for firmware
readiness.
Modify the wait time to fw_reset_min_dsecs, which is initialised to
correct timeout for error recovery and firmware reset.
Fixes: 4037eb7156
("bnxt_en: Add a new BNXT_FW_RESET_STATE_POLL_FW_DOWN state.")
Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
This commit is contained in:
parent
83a46a82b9
commit
c6a9e7aa2e
|
@ -10669,14 +10669,11 @@ static void bnxt_fw_reset_task(struct work_struct *work)
|
||||||
bp->fw_reset_state = BNXT_FW_RESET_STATE_RESET_FW;
|
bp->fw_reset_state = BNXT_FW_RESET_STATE_RESET_FW;
|
||||||
}
|
}
|
||||||
/* fall through */
|
/* fall through */
|
||||||
case BNXT_FW_RESET_STATE_RESET_FW: {
|
case BNXT_FW_RESET_STATE_RESET_FW:
|
||||||
u32 wait_dsecs = bp->fw_health->post_reset_wait_dsecs;
|
|
||||||
|
|
||||||
bnxt_reset_all(bp);
|
bnxt_reset_all(bp);
|
||||||
bp->fw_reset_state = BNXT_FW_RESET_STATE_ENABLE_DEV;
|
bp->fw_reset_state = BNXT_FW_RESET_STATE_ENABLE_DEV;
|
||||||
bnxt_queue_fw_reset_work(bp, wait_dsecs * HZ / 10);
|
bnxt_queue_fw_reset_work(bp, bp->fw_reset_min_dsecs * HZ / 10);
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
case BNXT_FW_RESET_STATE_ENABLE_DEV:
|
case BNXT_FW_RESET_STATE_ENABLE_DEV:
|
||||||
if (test_bit(BNXT_STATE_FW_FATAL_COND, &bp->state) &&
|
if (test_bit(BNXT_STATE_FW_FATAL_COND, &bp->state) &&
|
||||||
bp->fw_health) {
|
bp->fw_health) {
|
||||||
|
|
Loading…
Reference in New Issue