aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_init.c
diff options
context:
space:
mode:
authorGiridhar Malavali <giridhar.malavali@qlogic.com>2011-02-23 18:27:10 -0500
committerJames Bottomley <James.Bottomley@suse.de>2011-02-25 12:51:44 -0500
commit7190575f7a48c82fd99363748544023739dc4bb8 (patch)
treeaf1cd65418a060c98a2997e082b1cf5171e0aac3 /drivers/scsi/qla2xxx/qla_init.c
parentcf2d771255251bfd4570b01bea491a631b4033c9 (diff)
[SCSI] qla2xxx: Abort pending commands for faster recovery during ISP reset.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Madhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_init.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_init.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index f948e1a73aec..6370cdc193d5 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -1967,7 +1967,7 @@ qla2x00_fw_ready(scsi_qla_host_t *vha)
1967 } else { 1967 } else {
1968 /* Mailbox cmd failed. Timeout on min_wait. */ 1968 /* Mailbox cmd failed. Timeout on min_wait. */
1969 if (time_after_eq(jiffies, mtime) || 1969 if (time_after_eq(jiffies, mtime) ||
1970 (IS_QLA82XX(ha) && ha->flags.fw_hung)) 1970 ha->flags.isp82xx_fw_hung)
1971 break; 1971 break;
1972 } 1972 }
1973 1973
@@ -3980,13 +3980,8 @@ qla2x00_abort_isp_cleanup(scsi_qla_host_t *vha)
3980 3980
3981 if (!ha->flags.eeh_busy) { 3981 if (!ha->flags.eeh_busy) {
3982 /* Make sure for ISP 82XX IO DMA is complete */ 3982 /* Make sure for ISP 82XX IO DMA is complete */
3983 if (IS_QLA82XX(ha)) { 3983 if (IS_QLA82XX(ha))
3984 if (qla2x00_eh_wait_for_pending_commands(vha, 0, 0, 3984 qla82xx_chip_reset_cleanup(vha);
3985 WAIT_HOST) == QLA_SUCCESS) {
3986 DEBUG2(qla_printk(KERN_INFO, ha,
3987 "Done wait for pending commands\n"));
3988 }
3989 }
3990 3985
3991 /* Requeue all commands in outstanding command list. */ 3986 /* Requeue all commands in outstanding command list. */
3992 qla2x00_abort_all_cmds(vha, DID_RESET << 16); 3987 qla2x00_abort_all_cmds(vha, DID_RESET << 16);