提交 c2ced171 编写于 作者: S Sumit.Saxena@avagotech.com 提交者: Christoph Hellwig

megaraid_sas: disable interrupt_mask before enabling hardware interrupts

Update driver "mask_interrupts" before enable/disable hardware interrupt
in order to avoid missing interrupts because of "mask_interrupts" still
set to 1 and hardware interrupts are enabled.

Cc: <stable@vger.kernel.org>
Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com>
Signed-off-by: NChaitra Basappa <chaitra.basappa@avagotech.com>
Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: NChristoph Hellwig <hch@lst.de>
上级 ab2f0608
...@@ -102,6 +102,8 @@ megasas_enable_intr_fusion(struct megasas_instance *instance) ...@@ -102,6 +102,8 @@ megasas_enable_intr_fusion(struct megasas_instance *instance)
{ {
struct megasas_register_set __iomem *regs; struct megasas_register_set __iomem *regs;
regs = instance->reg_set; regs = instance->reg_set;
instance->mask_interrupts = 0;
/* For Thunderbolt/Invader also clear intr on enable */ /* For Thunderbolt/Invader also clear intr on enable */
writel(~0, &regs->outbound_intr_status); writel(~0, &regs->outbound_intr_status);
readl(&regs->outbound_intr_status); readl(&regs->outbound_intr_status);
...@@ -110,7 +112,6 @@ megasas_enable_intr_fusion(struct megasas_instance *instance) ...@@ -110,7 +112,6 @@ megasas_enable_intr_fusion(struct megasas_instance *instance)
/* Dummy readl to force pci flush */ /* Dummy readl to force pci flush */
readl(&regs->outbound_intr_mask); readl(&regs->outbound_intr_mask);
instance->mask_interrupts = 0;
} }
/** /**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册