ソースを参照

[SCSI] qla2xxx: Defer explicit interrupt-polling processing to init-time scenarios.

As the intermixing may cause issues where HCCR bits could be
cleared inappropriately during MSI/MSI-X interrupt handling.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Andrew Vasquez 17 年 前
コミット
a3a63d55a4
2 ファイル変更2 行追加2 行削除
  1. 1 1
      drivers/scsi/qla2xxx/qla_iocb.c
  2. 1 1
      drivers/scsi/qla2xxx/qla_mbx.c

+ 1 - 1
drivers/scsi/qla2xxx/qla_iocb.c

@@ -525,7 +525,7 @@ qla2x00_req_pkt(scsi_qla_host_t *ha)
 
 		/* Check for pending interrupts. */
 		/* During init we issue marker directly */
-		if (!ha->marker_needed)
+		if (!ha->marker_needed && !ha->flags.init_done)
 			qla2x00_poll(ha);
 
 		spin_lock_irq(&ha->hardware_lock);

+ 1 - 1
drivers/scsi/qla2xxx/qla_mbx.c

@@ -252,7 +252,7 @@ qla2x00_mailbox_command(scsi_qla_host_t *pvha, mbx_cmd_t *mcp)
 	/* Clean up */
 	ha->mcp = NULL;
 
-	if (!abort_active) {
+	if (abort_active || !io_lock_on) {
 		DEBUG11(printk("%s(%ld): checking for additional resp "
 		    "interrupt.\n", __func__, ha->host_no));