[SCSI] qla2xxx: Stop unconditional completion of mailbox commands issued in interrupt mode during firmware hang.

Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
Giridhar Malavali 2011-11-18 09:02:13 -08:00 committed by James Bottomley
parent 0cd33fcfb5
commit 841c5e5cee
2 changed files with 8 additions and 2 deletions

View file

@ -4075,7 +4075,10 @@ qla82xx_chip_reset_cleanup(scsi_qla_host_t *vha)
ha->flags.isp82xx_fw_hung = 1;
if (ha->flags.mbox_busy) {
ha->flags.mbox_int = 1;
complete(&ha->mbx_intr_comp);
if (test_bit(MBX_INTR_WAIT,
&ha->mbx_cmd_flags)) {
complete(&ha->mbx_intr_comp);
}
}
break;
}

View file

@ -4014,7 +4014,10 @@ qla2xxx_pci_error_detected(struct pci_dev *pdev, pci_channel_state_t state)
ql_dbg(ql_dbg_aer, vha, 0x9001,
"Due to pci channel io frozen, doing premature "
"completion of mbx command.\n");
complete(&ha->mbx_intr_comp);
if (test_bit(MBX_INTR_WAIT,
&ha->mbx_cmd_flags)) {
complete(&ha->mbx_intr_comp);
}
}
}
qla2x00_free_irqs(vha);