]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
PCI/AER: Remove redundant Device Control Error Reporting Enable
authorBjorn Helgaas <bhelgaas@google.com>
Wed, 18 Jan 2023 23:46:04 +0000 (17:46 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 26 Jan 2023 23:06:13 +0000 (17:06 -0600)
commit6b985af556e5c50e89d00a79864423582bfd3c69
tree225515d958a204144f445b2b37541e63789c46c8
parentbba5065963f8ade14f3caa5b0f5b4a53d3054dfd
PCI/AER: Remove redundant Device Control Error Reporting Enable

The following bits in the PCIe Device Control register enable sending of
ERR_COR, ERR_NONFATAL, or ERR_FATAL Messages (or reporting internally in
the case of Root Ports):

  Correctable Error Reporting Enable
  Non-Fatal Error Reporting Enable
  Fatal Error Reporting Enable
  Unsupported Request Reporting Enable

These enable bits are set by pci_enable_pcie_error_reporting(), and since
f26e58bf6f54 ("PCI/AER: Enable error reporting when AER is native"), we
do that in this path during enumeration:

  pci_init_capabilities
    pci_aer_init
      pci_enable_pcie_error_reporting

Previously, the AER service driver also traversed the hierarchy when
claiming a Root Port, enabling error reporting for downstream devices, but
this is redundant.

Remove the code that enables this error reporting in the AER .probe() path.
Also remove similar code that disables error reporting in the AER .remove()
path.

Note that these Device Control Reporting Enable bits do not control
interrupt generation.  That's done by the similarly-named bits in the AER
Root Error Command register, which are still set by aer_probe() and cleared
by aer_remove(), since the AER service driver handles those interrupts.
See PCIe r6.0, sec 6.2.6.

Link: https://lore.kernel.org/r/20230118234612.272916-2-helgaas@kernel.org
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Cc: Ashok Raj <ashok.raj@intel.com>
Cc: Keith Busch <kbusch@kernel.org>
drivers/pci/pcie/aer.c