summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSarang Radke <sarang.radke@qlogic.com>2011-03-23 15:07:33 (GMT)
committerJames Bottomley <James.Bottomley@suse.de>2011-03-23 17:53:09 (GMT)
commit5fa8b573134108a333a317378998a9f1299c4dd6 (patch)
tree70925c9a578c65753e1cfdcee2aa058b2f5f97ca
parent3dea642afd9187728d119fce5c82a7ed9faa9b6a (diff)
downloadlinux-fsl-qoriq-5fa8b573134108a333a317378998a9f1299c4dd6.tar.xz
[SCSI] qla4xxx: Use polling mode for disable interrupt mailbox completion
Disable Interrupt MBX completion will disable the interrupt on successful completion. Fixed the bug where driver was waiting for Interrupt to come in for its completion. Now driver will poll for disable interrupt MBX completion. Signed-off-by: Sarang Radke <sarang.radke@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
-rw-r--r--drivers/scsi/qla4xxx/ql4_nx.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_nx.c b/drivers/scsi/qla4xxx/ql4_nx.c
index 3d5ef2d..35381cb 100644
--- a/drivers/scsi/qla4xxx/ql4_nx.c
+++ b/drivers/scsi/qla4xxx/ql4_nx.c
@@ -2304,14 +2304,13 @@ qla4_8xxx_enable_intrs(struct scsi_qla_host *ha)
void
qla4_8xxx_disable_intrs(struct scsi_qla_host *ha)
{
- if (test_bit(AF_INTERRUPTS_ON, &ha->flags))
+ if (test_and_clear_bit(AF_INTERRUPTS_ON, &ha->flags))
qla4_8xxx_mbx_intr_disable(ha);
spin_lock_irq(&ha->hardware_lock);
/* BIT 10 - set */
qla4_8xxx_wr_32(ha, ha->nx_legacy_intr.tgt_mask_reg, 0x0400);
spin_unlock_irq(&ha->hardware_lock);
- clear_bit(AF_INTERRUPTS_ON, &ha->flags);
}
struct ql4_init_msix_entry {