|
@@ -55,7 +55,6 @@ qla2x00_mailbox_command(scsi_qla_host_t *ha, mbx_cmd_t *mcp)
|
|
|
uint16_t __iomem *optr;
|
|
|
uint32_t cnt;
|
|
|
uint32_t mboxes;
|
|
|
- unsigned long mbx_flags = 0;
|
|
|
unsigned long wait_time;
|
|
|
|
|
|
rval = QLA_SUCCESS;
|
|
@@ -81,10 +80,6 @@ qla2x00_mailbox_command(scsi_qla_host_t *ha, mbx_cmd_t *mcp)
|
|
|
/* Save mailbox command for debug */
|
|
|
ha->mcp = mcp;
|
|
|
|
|
|
- /* Try to get mailbox register access */
|
|
|
- if (!abort_active)
|
|
|
- spin_lock_irqsave(&ha->mbx_reg_lock, mbx_flags);
|
|
|
-
|
|
|
DEBUG11(printk("scsi(%ld): prepare to issue mbox cmd=0x%x.\n",
|
|
|
ha->host_no, mcp->mb[0]));
|
|
|
|
|
@@ -161,9 +156,6 @@ qla2x00_mailbox_command(scsi_qla_host_t *ha, mbx_cmd_t *mcp)
|
|
|
WRT_REG_WORD(®->isp.hccr, HCCR_SET_HOST_INT);
|
|
|
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
|
|
|
|
|
- if (!abort_active)
|
|
|
- spin_unlock_irqrestore(&ha->mbx_reg_lock, mbx_flags);
|
|
|
-
|
|
|
/* Wait for either the timer to expire
|
|
|
* or the mbox completion interrupt
|
|
|
*/
|
|
@@ -184,8 +176,6 @@ qla2x00_mailbox_command(scsi_qla_host_t *ha, mbx_cmd_t *mcp)
|
|
|
else
|
|
|
WRT_REG_WORD(®->isp.hccr, HCCR_SET_HOST_INT);
|
|
|
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
|
|
- if (!abort_active)
|
|
|
- spin_unlock_irqrestore(&ha->mbx_reg_lock, mbx_flags);
|
|
|
|
|
|
wait_time = jiffies + mcp->tov * HZ; /* wait at most tov secs */
|
|
|
while (!ha->flags.mbox_int) {
|
|
@@ -201,9 +191,6 @@ qla2x00_mailbox_command(scsi_qla_host_t *ha, mbx_cmd_t *mcp)
|
|
|
} /* while */
|
|
|
}
|
|
|
|
|
|
- if (!abort_active)
|
|
|
- spin_lock_irqsave(&ha->mbx_reg_lock, mbx_flags);
|
|
|
-
|
|
|
/* Check whether we timed out */
|
|
|
if (ha->flags.mbox_int) {
|
|
|
uint16_t *iptr2;
|
|
@@ -256,9 +243,6 @@ qla2x00_mailbox_command(scsi_qla_host_t *ha, mbx_cmd_t *mcp)
|
|
|
rval = QLA_FUNCTION_TIMEOUT;
|
|
|
}
|
|
|
|
|
|
- if (!abort_active)
|
|
|
- spin_unlock_irqrestore(&ha->mbx_reg_lock, mbx_flags);
|
|
|
-
|
|
|
ha->flags.mbox_busy = 0;
|
|
|
|
|
|
/* Clean up */
|