diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2011-10-26 17:20:13 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-10-30 06:08:15 -0400 |
commit | d424754cbe97fe581985dca4400347cb275d7eb2 (patch) | |
tree | d08c1b1a958c073344babf09a446ef483cedfea2 /drivers/scsi | |
parent | a63ec37629415848b5704eda5110fe8e750032ca (diff) |
[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 <andrew.vasquez@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_isr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index 3474e86e98ab..2516adf1aeea 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) | |||
2279 | ha = rsp->hw; | 2279 | ha = rsp->hw; |
2280 | 2280 | ||
2281 | /* Clear the interrupt, if enabled, for this response queue */ | 2281 | /* Clear the interrupt, if enabled, for this response queue */ |
2282 | if (rsp->options & ~BIT_6) { | 2282 | if (!ha->flags.disable_msix_handshake) { |
2283 | reg = &ha->iobase->isp24; | 2283 | reg = &ha->iobase->isp24; |
2284 | spin_lock_irqsave(&ha->hardware_lock, flags); | 2284 | spin_lock_irqsave(&ha->hardware_lock, flags); |
2285 | WRT_REG_DWORD(®->hccr, HCCRX_CLR_RISC_INT); | 2285 | WRT_REG_DWORD(®->hccr, HCCRX_CLR_RISC_INT); |