Browse Source

[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>
Sarang Radke 14 years ago
parent
commit
5fa8b57313
1 changed files with 1 additions and 2 deletions
  1. 1 2
      drivers/scsi/qla4xxx/ql4_nx.c

+ 1 - 2
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 {