[SCSI] megaraid_sas: add readl to force PCI posting flush
authorYang, Bo <Bo.Yang@lsi.com>
Sun, 10 Aug 2008 19:42:37 +0000 (12:42 -0700)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Sat, 16 Aug 2008 15:12:19 +0000 (10:12 -0500)
MegaRAID SAS Driver get unexpected Interrupt.  Add the dummy readl to
force PCI flush will fix this issue.

Signed-off-by: Bo Yang <bo.yang@lsi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Stable Tree <stable@kernel.org>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/megaraid/megaraid_sas.c

index fc7ac15..d7b9984 100644 (file)
@@ -198,6 +198,9 @@ megasas_clear_intr_xscale(struct megasas_register_set __iomem * regs)
         */
        writel(status, &regs->outbound_intr_status);
 
+       /* Dummy readl to force pci flush */
+       readl(&regs->outbound_intr_status);
+
        return 0;
 }
 
@@ -293,6 +296,9 @@ megasas_clear_intr_ppc(struct megasas_register_set __iomem * regs)
         */
        writel(status, &regs->outbound_doorbell_clear);
 
+       /* Dummy readl to force pci flush */
+       readl(&regs->outbound_doorbell_clear);
+
        return 0;
 }
 /**