[PATCH v5 0/5] Fix long standing AER Error Handling Issues

From: Naveen Naidu
Date: Mon Oct 25 2021 - 13:07:58 EST


This patch series aims at fixing some of the AER error handling issues
we have.

Currently we have the following issues:

1. Confusing message in aer_print_error()
2. aer_err_info not being initialized completely in DPC path before
we print the AER logs
3. A bug [1] in clearing of AER registers in the native AER path

[1] https://lore.kernel.org/linux-pci/20151229155822.GA17321@localhost/

The patch series fixes the above things.

PATCH 1:
- Fixes the first issue
- This patch is independent of other patches and can be applied
seperately

PATCH 2 - 3:
- Fixes the second issue
- Patch 3 is depended on Patch 2 in the series

PATCH 4
- Fixes the bug in clearing of AER registers which leades to
AER message spew [1]

PATCH 5:
- Adds extra information (devctl register) in AER error logs.
- Patch 5 depends on Patch 4 of the series

Thanks,
Naveen Naidu

Changelog
=========
v5:
- Edit the commit message of Patch 1 and Patch 5 to include how to
test the AER messages using aer-inject.
- Edit Patch 3 to initialize info.id depending on the trigger
reason.
- Drop few patches (v4 4/8, 5/8 7/8) since they were wrong.

v4:
- Fix logical error in 6/8, in the previous version of the patch set
there was a bug, in how I added the devices to the queue.

v3:
- Edit the commit messages to be in imperative style and split the
commits to be more atomic.

v2:
- Add [PATCH 7] which includes the device control register
information in AER error logs.

Naveen Naidu (5):
[PATCH v5 1/5] PCI/AER: Remove ID from aer_agent_string[]
[PATCH v5 2/5] PCI: Cleanup struct aer_err_info
[PATCH v5 3/5] PCI/DPC: Initialize info.id in dpc_process_error()
[PATCH v5 4/5] PCI/AER: Clear error device AER registers in aer_irq()
[PATCH v5 5/5] PCI/AER: Include DEVCTL in aer_print_error()

drivers/pci/pci.h | 23 +++-
drivers/pci/pcie/aer.c | 269 ++++++++++++++++++++++++++++-------------
drivers/pci/pcie/dpc.c | 16 ++-
3 files changed, 214 insertions(+), 94 deletions(-)

--
2.25.1