mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-12 03:26:26 +00:00
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: Sumit Saxena <sumit.saxena@avagotech.com> Signed-off-by: Chaitra Basappa <chaitra.basappa@avagotech.com> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
ab2f0608e1
commit
c2ced1719a
1 changed files with 2 additions and 1 deletions
|
@ -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, ®s->outbound_intr_status);
|
writel(~0, ®s->outbound_intr_status);
|
||||||
readl(®s->outbound_intr_status);
|
readl(®s->outbound_intr_status);
|
||||||
|
@ -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(®s->outbound_intr_mask);
|
readl(®s->outbound_intr_mask);
|
||||||
instance->mask_interrupts = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue