summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/megaraid
diff options
context:
space:
mode:
authorYang, Bo <Bo.Yang@lsi.com>2008-08-10 12:42:37 -0700
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-08-16 10:12:19 -0500
commit06f579dee5dd75c2aaf8fe83d034b5470eeee2f4 (patch)
tree57e96328d00390037f95a58e1225f1e2099e7bdc /drivers/scsi/megaraid
parentd211f052fa58a053639bc51501cb64421157d362 (diff)
downloadlinux-06f579dee5dd75c2aaf8fe83d034b5470eeee2f4.tar.gz
linux-06f579dee5dd75c2aaf8fe83d034b5470eeee2f4.tar.bz2
linux-06f579dee5dd75c2aaf8fe83d034b5470eeee2f4.zip
[SCSI] megaraid_sas: add readl to force PCI posting flush
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>
Diffstat (limited to 'drivers/scsi/megaraid')
-rw-r--r--drivers/scsi/megaraid/megaraid_sas.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas.c b/drivers/scsi/megaraid/megaraid_sas.c
index fc7ac158476c..d7b99843ca3e 100644
--- a/drivers/scsi/megaraid/megaraid_sas.c
+++ b/drivers/scsi/megaraid/megaraid_sas.c
@@ -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;
}
/**