From: Andrew Vasquez Date: Wed, 26 Oct 2011 21:20:13 +0000 (-0700) Subject: [SCSI] qla2xxx: Correct inadvertent clearing of RISC_INTR status. X-Git-Tag: v3.2-rc1~44^2~27 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d424754cbe97fe581985dca4400347cb275d7eb2;p=profile%2Fivi%2Fkernel-adaptation-intel-automotive.git [SCSI] qla2xxx: Correct inadvertent clearing of RISC_INTR status. During heavy I/O (CPU-affinity mode enabled) and CLI/Agent interactions, the driver would report periodic mailbox command timeout statuses. Within the CPU-affinity ISR handler, the driver should check the 'disable-msix-handshake' flag in deciding whether or not to clear HCCRX_CLR_RISC_INT. The mode is not specific to a dedicated queue, instead, applies to the current 'ha' context. Signed-off-by: Andrew Vasquez Signed-off-by: Chad Dupuis Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index 3474e86..2516adf 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c @@ -2279,7 +2279,7 @@ qla25xx_msix_rsp_q(int irq, void *dev_id) ha = rsp->hw; /* Clear the interrupt, if enabled, for this response queue */ - if (rsp->options & ~BIT_6) { + if (!ha->flags.disable_msix_handshake) { reg = &ha->iobase->isp24; spin_lock_irqsave(&ha->hardware_lock, flags); WRT_REG_DWORD(®->hccr, HCCRX_CLR_RISC_INT);