Re: [PATCH 10/12] qla2xxx: Fix a bug that clears the interrupt status register for the base queue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Aug 4, 2009, at 2:02 PM, James Bottomley wrote:

On Fri, 2009-07-31 at 15:09 -0700, giridhar.malavali@xxxxxxxxxx wrote:
From: Anirban Chakraborty <anirban.chakraborty@xxxxxxxxxx>

The interrupt handler clears the interrupt status register for response updates in the base queue while working in the multique mode. This could lead to missing interrupt for async events, mail box completions etc. as these are also handled in the base queue. The fix ensures that the interrupt bit is not cleared for response updates in the ISR
when the driver is working in multiqueue mode.

Signed-off-by: Anirban Chakraborty <anirban.chakraborty@xxxxxxxxxx>
Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx>
---
drivers/scsi/qla2xxx/qla_isr.c |    3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/ qla_isr.c
index 40014f3..175b20b 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -1769,7 +1769,8 @@ qla24xx_msix_rsp_q(int irq, void *dev_id)

	vha = qla25xx_get_host(rsp);
	qla24xx_process_response_queue(vha, rsp);
-	WRT_REG_DWORD(&reg->hccr, HCCRX_CLR_RISC_INT);
+	if (!ha->mqenable)
+		WRT_REG_DWORD(&reg->hccr, HCCRX_CLR_RISC_INT);

	spin_unlock_irq(&ha->hardware_lock);

Assuming this is the only thing that clears the interrupt line, isn't
this asking for a re-interrupt in a posted write scenario?  Don't you
want to do a read to flush the posted write before enabling interrupts?

I will add a read to flush the posted write and resend the patch.
Thanks,
Anirban

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux