diff options
author | Giridhar Malavali <giridhar.malavali@qlogic.com> | 2011-11-18 12:02:18 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-12-12 05:08:15 -0500 |
commit | 8937f2f1c4bc6a9098fd71eb4a7deba5f0683118 (patch) | |
tree | cf0aae146d17b292df283edb6cbb23c27592a84f /drivers/scsi | |
parent | c8f6544e6d831f05720687f3536d5cbc290ff181 (diff) |
[SCSI] qla2xxx: Clear mailbox busy flag during premature mailbox completion for ISP82xx.
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_mbx.c | 2 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_nx.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c index f965a57f5d65..6ff7c3cbd0b5 100644 --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c | |||
@@ -162,6 +162,7 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp) | |||
162 | HINT_MBX_INT_PENDING) { | 162 | HINT_MBX_INT_PENDING) { |
163 | spin_unlock_irqrestore(&ha->hardware_lock, | 163 | spin_unlock_irqrestore(&ha->hardware_lock, |
164 | flags); | 164 | flags); |
165 | ha->flags.mbox_busy = 0; | ||
165 | ql_dbg(ql_dbg_mbx, base_vha, 0x1010, | 166 | ql_dbg(ql_dbg_mbx, base_vha, 0x1010, |
166 | "Pending mailbox timeout, exiting.\n"); | 167 | "Pending mailbox timeout, exiting.\n"); |
167 | rval = QLA_FUNCTION_TIMEOUT; | 168 | rval = QLA_FUNCTION_TIMEOUT; |
@@ -187,6 +188,7 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp) | |||
187 | HINT_MBX_INT_PENDING) { | 188 | HINT_MBX_INT_PENDING) { |
188 | spin_unlock_irqrestore(&ha->hardware_lock, | 189 | spin_unlock_irqrestore(&ha->hardware_lock, |
189 | flags); | 190 | flags); |
191 | ha->flags.mbox_busy = 0; | ||
190 | ql_dbg(ql_dbg_mbx, base_vha, 0x1012, | 192 | ql_dbg(ql_dbg_mbx, base_vha, 0x1012, |
191 | "Pending mailbox timeout, exiting.\n"); | 193 | "Pending mailbox timeout, exiting.\n"); |
192 | rval = QLA_FUNCTION_TIMEOUT; | 194 | rval = QLA_FUNCTION_TIMEOUT; |
diff --git a/drivers/scsi/qla2xxx/qla_nx.c b/drivers/scsi/qla2xxx/qla_nx.c index 60d999d335c5..54246f934664 100644 --- a/drivers/scsi/qla2xxx/qla_nx.c +++ b/drivers/scsi/qla2xxx/qla_nx.c | |||
@@ -3823,6 +3823,7 @@ void qla82xx_clear_pending_mbx(scsi_qla_host_t *vha) | |||
3823 | 3823 | ||
3824 | if (ha->flags.mbox_busy) { | 3824 | if (ha->flags.mbox_busy) { |
3825 | ha->flags.mbox_int = 1; | 3825 | ha->flags.mbox_int = 1; |
3826 | ha->flags.mbox_busy = 0; | ||
3826 | ql_log(ql_log_warn, vha, 0x6010, | 3827 | ql_log(ql_log_warn, vha, 0x6010, |
3827 | "Doing premature completion of mbx command.\n"); | 3828 | "Doing premature completion of mbx command.\n"); |
3828 | if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags)) | 3829 | if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags)) |