From: Lalit Chandivade Date: Fri, 3 Dec 2010 06:12:27 +0000 (-0800) Subject: [SCSI] qla4xxx: do not process interrupt unconditionally X-Git-Tag: v2.6.38-rc1~27^2~59 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=e6b07df8b0f1530a8ed606f6f464487520d74ad9;p=karo-tx-linux.git [SCSI] qla4xxx: do not process interrupt unconditionally in mailbox command do not process interrupt unconditionally, process interrupt only in polling mode Signed-off-by: Vikas Chaudhary Signed-off-by: Lalit Chandivade Signed-off-by: Ravi Anand Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/qla4xxx/ql4_mbx.c b/drivers/scsi/qla4xxx/ql4_mbx.c index 8961d4c03e3b..b7e43b1d2a70 100644 --- a/drivers/scsi/qla4xxx/ql4_mbx.c +++ b/drivers/scsi/qla4xxx/ql4_mbx.c @@ -81,23 +81,7 @@ int qla4xxx_mailbox_command(struct scsi_qla_host *ha, uint8_t inCount, */ spin_lock_irqsave(&ha->hardware_lock, flags); - if (is_qla8022(ha)) { - intr_status = readl(&ha->qla4_8xxx_reg->host_int); - if (intr_status & ISRX_82XX_RISC_INT) { - /* Service existing interrupt */ - DEBUG2(printk("scsi%ld: %s: " - "servicing existing interrupt\n", - ha->host_no, __func__)); - intr_status = readl(&ha->qla4_8xxx_reg->host_status); - ha->isp_ops->interrupt_service_routine(ha, intr_status); - clear_bit(AF_MBOX_COMMAND_DONE, &ha->flags); - if (test_bit(AF_INTERRUPTS_ON, &ha->flags) && - test_bit(AF_INTx_ENABLED, &ha->flags)) - qla4_8xxx_wr_32(ha, - ha->nx_legacy_intr.tgt_mask_reg, - 0xfbff); - } - } else { + if (!is_qla8022(ha)) { intr_status = readl(&ha->reg->ctrl_status); if (intr_status & CSR_SCSI_PROCESSOR_INTR) { /* Service existing interrupt */