On Tue, 8 Oct 2024 17:16:47 -0500
Terry Bowman <terry.bowman@amd.com> wrote:
> The AER service driver's aer_get_device_err_info() function does not
> read uncorrectable (UCE) fatal error status from PCIe upstream port
> devices. As a result, fatal errors are not logged or handled as needed
> for CXL PCIe upstream switch port devices.
I wonder why not? Is this the first ever upstream port to
report an uncorrectable error (that didn't mean the link was
down) or is there something more subtle going on.
PCI folk, this one looks like it might cause problems to me.
>
> Update the aer_get_device_err_info() function to read the UCE fatal
error_info()
> status for all CXL PCIe port devices.
>
> The fatal error status will be used in future patches implementing
> CXL PCIe port error handling and logging.
>
> Signed-off-by: Terry Bowman <terry.bowman@amd.com>
> ---
> drivers/pci/pcie/aer.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
> index 1c996287d4ce..9b2872c8e20d 100644
> --- a/drivers/pci/pcie/aer.c
> +++ b/drivers/pci/pcie/aer.c
> @@ -1282,6 +1282,7 @@ int aer_get_device_error_info(struct pci_dev *dev, struct aer_err_info *info)
> } else if (type == PCI_EXP_TYPE_ROOT_PORT ||
> type == PCI_EXP_TYPE_RC_EC ||
> type == PCI_EXP_TYPE_DOWNSTREAM ||
> + type == PCI_EXP_TYPE_UPSTREAM ||
> info->severity == AER_NONFATAL) {
>
> /* Link is still healthy for IO reads */
So this comment makes me worried. In general case the fatal
error may mean we can't talk to the USP?
Jonathan