PCI/AER: Don't clear AER bits if error handling is Firmware-First
authorAlexandru Gagniuc <mr.nuke.me@gmail.com>
Tue, 17 Jul 2018 15:31:23 +0000 (10:31 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 15 Aug 2018 19:35:40 +0000 (14:35 -0500)
commit45687f96c112adda2f1d1f05b977661eb00d5a1c
tree98324617bad12271bd2d4a0f940f2499214583ae
parent944d58595be02634cc295e341306ccda2365554d
PCI/AER: Don't clear AER bits if error handling is Firmware-First

If the platform requests Firmware-First error handling, firmware is
responsible for reading and clearing AER status bits.  If OSPM also clears
them, we may miss errors.  See ACPI v6.2, sec 18.3.2.5 and 18.4.

This race is mostly of theoretical significance, as it is not easy to
reasonably demonstrate it in testing.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
[bhelgaas: add similar guards to pci_cleanup_aer_uncorrect_error_status()
and pci_aer_clear_fatal_status()]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/pcie/aer.c