Thread (13 messages) flat view 13 messages, 3 authors, 4d ago
COOLING4d

[PATCH 0/6] PCI/AER: Support Advisory Non-Fatal Errors

From: Matthew W Carlis <hidden>
Date: 2026-08-01 08:25:29
Also in: linux-pci

There is a part of me that wonders whether all of the complexity in AER
handling is really worth it...

Advisory error is one of those insane things in the spec.. It feels like
the spec makes it unreasonably complicated for the driver to discriminate.
What if we decoupled the message received by the root port from checking &
logging the AER status registers? In other words, when the root port
receives a message we log the severity we received and whether it was
multiple errors.

Then, when we get to the device that sent the message we just always check the
CE and the UE status registers? If any status is set that is also unmasked then
we log the corresponding TLP Header for that. In addition we log the device
status register so users can know what severities were signaled.

We can use the Error Message severity received at the root port to decide
whether to walk the pci bus and do the error_detected() stuff. If there are
multiple UE status bits set at the reporter & Dev Status register says there
was a Non Fatal Error as well a Correctable Error I don't think I care if
simply logs everything in UE status as a UE, everything in CE status as CE
as long as it also tells me the Dev Status Bits that are set.

Going a little further I would be fine with just always checking both CE/UE
status because it seems like it simplifies things a lot & two/three extra
config reads/writes is almost a nop if you're already at the device probing
it for the other AER things.

Thank you!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help