diff options
author | Giridhar Malavali <giridhar.malavali@qlogic.com> | 2011-11-18 12:02:13 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-12-12 03:34:55 -0500 |
commit | 841c5e5cee140115b03355c39e4c3f1798ec34bc (patch) | |
tree | 5d5bf0c8b24aa66183792a43e7786764c34345a7 /drivers/scsi | |
parent | 0cd33fcfb54f2eb053ead3cca35ad9775fc01301 (diff) |
[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>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_nx.c | 5 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_nx.c b/drivers/scsi/qla2xxx/qla_nx.c index 94bded5ddce4..d2005c3c8247 100644 --- a/drivers/scsi/qla2xxx/qla_nx.c +++ b/drivers/scsi/qla2xxx/qla_nx.c | |||
@@ -4075,7 +4075,10 @@ qla82xx_chip_reset_cleanup(scsi_qla_host_t *vha) | |||
4075 | ha->flags.isp82xx_fw_hung = 1; | 4075 | ha->flags.isp82xx_fw_hung = 1; |
4076 | if (ha->flags.mbox_busy) { | 4076 | if (ha->flags.mbox_busy) { |
4077 | ha->flags.mbox_int = 1; | 4077 | ha->flags.mbox_int = 1; |
4078 | complete(&ha->mbx_intr_comp); | 4078 | if (test_bit(MBX_INTR_WAIT, |
4079 | &ha->mbx_cmd_flags)) { | ||
4080 | complete(&ha->mbx_intr_comp); | ||
4081 | } | ||
4079 | } | 4082 | } |
4080 | break; | 4083 | break; |
4081 | } | 4084 | } |
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 01c87004b219..abec1dd31194 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -4014,7 +4014,10 @@ qla2xxx_pci_error_detected(struct pci_dev *pdev, pci_channel_state_t state) | |||
4014 | ql_dbg(ql_dbg_aer, vha, 0x9001, | 4014 | ql_dbg(ql_dbg_aer, vha, 0x9001, |
4015 | "Due to pci channel io frozen, doing premature " | 4015 | "Due to pci channel io frozen, doing premature " |
4016 | "completion of mbx command.\n"); | 4016 | "completion of mbx command.\n"); |
4017 | complete(&ha->mbx_intr_comp); | 4017 | if (test_bit(MBX_INTR_WAIT, |
4018 | &ha->mbx_cmd_flags)) { | ||
4019 | complete(&ha->mbx_intr_comp); | ||
4020 | } | ||
4018 | } | 4021 | } |
4019 | } | 4022 | } |
4020 | qla2x00_free_irqs(vha); | 4023 | qla2x00_free_irqs(vha); |