diff mbox series

[v2,1/4] PCI: Keep AER status in pci_restore_state()

Message ID 20230420015830.309845-1-kai.heng.feng@canonical.com (mailing list archive)
State Superseded
Headers show
Series [v2,1/4] PCI: Keep AER status in pci_restore_state() | expand

Commit Message

Kai-Heng Feng April 20, 2023, 1:58 a.m. UTC
When AER is using the same IRQ as PME, AER interrupt is treated as a
wakeup event and it can disrupt system suspend process.

If that happens, the system will report it's woken up by PME IRQ without
indicating any AER error since AER status is cleared on resume.

So keep the AER status so users can know the system is woken up by AER
instead of PME.

Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
---
v2:
 - New patch.

 drivers/pci/pci.c | 1 -
 1 file changed, 1 deletion(-)

Comments

Mika Westerberg April 20, 2023, 10:49 a.m. UTC | #1
On Thu, Apr 20, 2023 at 09:58:27AM +0800, Kai-Heng Feng wrote:
> When AER is using the same IRQ as PME, AER interrupt is treated as a
> wakeup event and it can disrupt system suspend process.
> 
> If that happens, the system will report it's woken up by PME IRQ without
> indicating any AER error since AER status is cleared on resume.
> 
> So keep the AER status so users can know the system is woken up by AER
> instead of PME.
> 
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>

Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
diff mbox series

Patch

diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 7a67611dc5f4..71aead00fc20 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -1778,7 +1778,6 @@  void pci_restore_state(struct pci_dev *dev)
 	pci_restore_dpc_state(dev);
 	pci_restore_ptm_state(dev);
 
-	pci_aer_clear_status(dev);
 	pci_restore_aer_state(dev);
 
 	pci_restore_config_space(dev);