diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2008-07-24 11:31:46 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-07-26 15:29:43 -0400 |
commit | 8201e207997b4665a5fcb375bab293fddb2e6adb (patch) | |
tree | aac2749e738c72ad2c6dce0a1a061a7d0239ce58 /drivers/scsi/qla2xxx/qla_init.c | |
parent | 3d164fb09bb5cb8a223eddf634fc0d355714fcfe (diff) |
[SCSI] qla2xxx: Issue proper ISP callbacks during stop-firmware.
As the original code would incorrectly call the non-ISP24xx/25xx
callbacks during recovery, a stop-firmware failure could result
in improper bit-banging of the RISC and in some cases manifest in
a NMI-watchdog trigger due to the RISC not coming out of its
reset state.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_init.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_init.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 44c0117c5d2b..597ac201969c 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c | |||
@@ -4038,8 +4038,8 @@ qla2x00_try_to_stop_firmware(scsi_qla_host_t *ha) | |||
4038 | ret = qla2x00_stop_firmware(ha); | 4038 | ret = qla2x00_stop_firmware(ha); |
4039 | for (retries = 5; ret != QLA_SUCCESS && ret != QLA_FUNCTION_TIMEOUT && | 4039 | for (retries = 5; ret != QLA_SUCCESS && ret != QLA_FUNCTION_TIMEOUT && |
4040 | retries ; retries--) { | 4040 | retries ; retries--) { |
4041 | qla2x00_reset_chip(ha); | 4041 | ha->isp_ops->reset_chip(ha); |
4042 | if (qla2x00_chip_diag(ha) != QLA_SUCCESS) | 4042 | if (ha->isp_ops->chip_diag(ha) != QLA_SUCCESS) |
4043 | continue; | 4043 | continue; |
4044 | if (qla2x00_setup_chip(ha) != QLA_SUCCESS) | 4044 | if (qla2x00_setup_chip(ha) != QLA_SUCCESS) |
4045 | continue; | 4045 | continue; |