Bug 214989
Summary: | HW consistent power fault defect cause system hang on kernel 5.4 | ||
---|---|---|---|
Product: | Drivers | Reporter: | Linjun Bao (joseph.bao) |
Component: | HotPlug | Assignee: | Greg Kroah-Hartman (greg) |
Status: | NEW --- | ||
Severity: | normal | CC: | helgaas, joseph.bao, kw, lukas, sashal, stuart.w.hayes |
Priority: | P1 | ||
Hardware: | Intel | ||
OS: | Linux | ||
Kernel Version: | 5.4.75 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | This is content on display when system hang, since system hang, no other info is available |
Description
Linjun Bao
2021-11-12 01:38:46 UTC
Add patch content. diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c index 3024d7e85e6a..bf8fe868a293 100644 --- a/drivers/pci/hotplug/pciehp_hpc.c +++ b/drivers/pci/hotplug/pciehp_hpc.c @@ -594,7 +594,7 @@ static irqreturn_t pciehp_isr(int irq, void *dev_id) struct controller *ctrl = (struct controller *)dev_id; struct pci_dev *pdev = ctrl_dev(ctrl); struct device *parent = pdev->dev.parent; - u16 status, events = 0; + u16 changed, status, events = 0; /* * Interrupts only occur in D3hot or shallower and only if enabled @@ -643,6 +643,7 @@ static irqreturn_t pciehp_isr(int irq, void *dev_id) if (ctrl->power_fault_detected) status &= ~PCI_EXP_SLTSTA_PFD; + changed = status ^ (events & status); events |= status; if (!events) { if (parent) @@ -659,7 +660,7 @@ static irqreturn_t pciehp_isr(int irq, void *dev_id) * So re-read the Slot Status register in case a bit was set * between read and write. */ - if (pci_dev_msi_enabled(pdev) && !pciehp_poll_mode) + if (pci_dev_msi_enabled(pdev) && !pciehp_poll_mode && changed) goto read_status; } On Fri, Nov 12, 2021 at 01:38:46AM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=214989 > > Bug ID: 214989 > Summary: HW consistent power fault defect cause system hang on > kernel 5.4 > Product: Drivers > Version: 2.5 > Kernel Version: 5.4.75 Very old kernel version, please try 5.15 and contact the developers on the respective mailing list as listed in the MAINTAINERS file. Yeah, the same issue for 5.15, since the pciehp_isr function is the same as 5.4, already added the developers. Patch submitted: https://lore.kernel.org/linux-pci/20211115192723.GA19161@wunner.de/ |