提交 d424754c 编写于 作者: A Andrew Vasquez 提交者: James Bottomley

[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: NAndrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: NChad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
上级 a63ec376
...@@ -2279,7 +2279,7 @@ qla25xx_msix_rsp_q(int irq, void *dev_id) ...@@ -2279,7 +2279,7 @@ qla25xx_msix_rsp_q(int irq, void *dev_id)
ha = rsp->hw; ha = rsp->hw;
/* Clear the interrupt, if enabled, for this response queue */ /* Clear the interrupt, if enabled, for this response queue */
if (rsp->options & ~BIT_6) { if (!ha->flags.disable_msix_handshake) {
reg = &ha->iobase->isp24; reg = &ha->iobase->isp24;
spin_lock_irqsave(&ha->hardware_lock, flags); spin_lock_irqsave(&ha->hardware_lock, flags);
WRT_REG_DWORD(&reg->hccr, HCCRX_CLR_RISC_INT); WRT_REG_DWORD(&reg->hccr, HCCRX_CLR_RISC_INT);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册