On Tue, Jun 18, 2024 at 10:49 PM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote: > > From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > > This is an old series from Kai-Heng that I didn't handle soon enough. The > intent is to fix several suspend/resume issues: > > - Spurious wakeup from s2idle > (https://bugzilla.kernel.org/show_bug.cgi?id=216295) > > - Steam Deck doesn't resume after suspend > (https://bugzilla.kernel.org/show_bug.cgi?id=218090) > > - Unexpected ACS error and DPC event when resuming after suspend > (https://bugzilla.kernel.org/show_bug.cgi?id=209149) > > It seems that a glitch when the link is powered down during suspend causes > errors to be logged by AER. When AER is enabled, this causes an AER > interrupt, and if that IRQ is shared with PME, it may cause a spurious > wakeup. > > Also, errors logged during link power-down and power-up seem to cause > unwanted error reporting during resume. > > This series disables AER interrupts, DPC triggering, and DPC interrupts > during suspend. On resume, it clears AER and DPC error status before > re-enabling their interrupts. > > I added a couple cosmetic changes for the v9, but this is essentially all > Kai-Heng's work. I'm just posting it as a v9 because I failed to act on > this earlier. > > Bjorn > > v9: > - Drop pci_ancestor_pr3_present() and pm_suspend_via_firmware; do it > unconditionally > - Clear DPC status before re-enabling DPC interrupt > > v8: https://lore.kernel.org/r/20240416043225.1462548-1-kai.heng.feng@xxxxxxxxxxxxx > - Wording. > - Add more bug reports. > > v7: > - Wording. > - Disable AER completely (again) if power will be turned off > - Disable DPC completely (again) if power will be turned off > > v6: https://lore.kernel.org/r/20230512000014.118942-1-kai.heng.feng@xxxxxxxxxxxxx > > v5: https://lore.kernel.org/r/20230511133610.99759-1-kai.heng.feng@xxxxxxxxxxxxx > - Wording. > > v4: https://lore.kernel.org/r/20230424055249.460381-1-kai.heng.feng@xxxxxxxxxxxxx > v3: https://lore.kernel.org/r/20230420125941.333675-1-kai.heng.feng@xxxxxxxxxxxxx > - Correct subject. > > v2: https://lore.kernel.org/r/20230420015830.309845-1-kai.heng.feng@xxxxxxxxxxxxx > - Only disable AER IRQ. > - No more AER check on PME IRQ#. > - Use AER helper. > - Only disable DPC IRQ. > - No more DPC check on PME IRQ#. > > v1: https://lore.kernel.org/r/20220727013255.269815-1-kai.heng.feng@xxxxxxxxxxxxx > > Kai-Heng Feng (2): > PCI/AER: Disable AER service on suspend > PCI/DPC: Disable DPC service on suspend > > drivers/pci/pcie/aer.c | 18 +++++++++++++ > drivers/pci/pcie/dpc.c | 60 +++++++++++++++++++++++++++++++++--------- > 2 files changed, 66 insertions(+), 12 deletions(-) > > -- Please feel free to add Acked-by: Rafael J. Wysocki <rafael@xxxxxxxxxx> to both patches in the series. Thanks!