summaryrefslogtreecommitdiffstats
path: root/drivers/pci/hotplug/pciehp_hpc.c
diff options
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2017-09-07 13:24:15 -0500
committerBjorn Helgaas <bhelgaas@google.com>2017-09-07 13:24:15 -0500
commitcf5f9cc8e4e5e8e0ecc35f1c904d98f889be2c0f (patch)
tree4446eb5958daec2286233ce3259aee9e25166c30 /drivers/pci/hotplug/pciehp_hpc.c
parentc5efc2209505916b6dbcd7ebe9412707b02dbc2f (diff)
parent7612b3b28c0b900dcbcdf5e9b9747cc20a1e2455 (diff)
Merge branch 'pci/hotplug' into next
* pci/hotplug: PCI: pciehp: Report power fault only once until we clear it PCI: shpchp: Enable bridge bus mastering if MSI is enabled
Diffstat (limited to 'drivers/pci/hotplug/pciehp_hpc.c')
-rw-r--r--drivers/pci/hotplug/pciehp_hpc.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c
index 026830a138ae..e5d5ce9e3010 100644
--- a/drivers/pci/hotplug/pciehp_hpc.c
+++ b/drivers/pci/hotplug/pciehp_hpc.c
@@ -586,6 +586,14 @@ static irqreturn_t pciehp_isr(int irq, void *dev_id)
events = status & (PCI_EXP_SLTSTA_ABP | PCI_EXP_SLTSTA_PFD |
PCI_EXP_SLTSTA_PDC | PCI_EXP_SLTSTA_CC |
PCI_EXP_SLTSTA_DLLSC);
+
+ /*
+ * If we've already reported a power fault, don't report it again
+ * until we've done something to handle it.
+ */
+ if (ctrl->power_fault_detected)
+ events &= ~PCI_EXP_SLTSTA_PFD;
+
if (!events)
return IRQ_NONE;