projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
afd438f
)
scsi: qla2xxx: Add retry for exec firmware
author
Quinn Tran
<qutran@marvell.com>
Mon, 10 Jan 2022 05:02:08 +0000
(21:02 -0800)
committer
Martin K. Petersen
<martin.petersen@oracle.com>
Tue, 25 Jan 2022 04:57:30 +0000
(23:57 -0500)
Per FW request, Exec FW can fail due to temporary error resulting in driver
not attaching to the adapter. Add retry of this command up to 4 retries.
Link:
https://lore.kernel.org/r/20220110050218.3958-8-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_mbx.c
patch
|
blob
|
history
diff --git
a/drivers/scsi/qla2xxx/qla_mbx.c
b/drivers/scsi/qla2xxx/qla_mbx.c
index 38e0f02c75e1d7243a08ded37065d1eecdcd89c8..c4bd8a16d78c12be1e8952a52adfd3470fef88c8 100644
(file)
--- a/
drivers/scsi/qla2xxx/qla_mbx.c
+++ b/
drivers/scsi/qla2xxx/qla_mbx.c
@@
-689,7
+689,7
@@
qla2x00_execute_fw(scsi_qla_host_t *vha, uint32_t risc_addr)
mbx_cmd_t *mcp = &mc;
u8 semaphore = 0;
#define EXE_FW_FORCE_SEMAPHORE BIT_7
- u8 retry =
3
;
+ u8 retry =
5
;
ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1025,
"Entered %s.\n", __func__);
@@
-764,6
+764,12
@@
again:
goto again;
}
+ if (retry) {
+ retry--;
+ ql_dbg(ql_dbg_async, vha, 0x509d,
+ "Exe FW retry: mb[0]=%x retry[%d]\n", mcp->mb[0], retry);
+ goto again;
+ }
ql_dbg(ql_dbg_mbx, vha, 0x1026,
"Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]);
vha->hw_err_cnt++;