From: Keith Busch Date: Tue, 19 Dec 2017 21:06:40 +0000 (-0700) Subject: PCI/AER: Return error if AER is not supported X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=0f6f1d9fca4ad91ce9b30dc0aa847b0947786261;p=openwrt%2Fstaging%2Fblogic.git PCI/AER: Return error if AER is not supported get_device_error_info() reads error information from registers in the AER capability. If we call it for a device that has no AER capability, it should return an error, but previously it returned success. Return 0 (error) if the device doesn't have an AER capability. Signed-off-by: Keith Busch [bhelgaas: changelog] Signed-off-by: Bjorn Helgaas --- diff --git a/drivers/pci/pcie/aer/aerdrv_core.c b/drivers/pci/pcie/aer/aerdrv_core.c index 3e354f224422..92ec13a09a2a 100644 --- a/drivers/pci/pcie/aer/aerdrv_core.c +++ b/drivers/pci/pcie/aer/aerdrv_core.c @@ -661,7 +661,7 @@ static int get_device_error_info(struct pci_dev *dev, struct aer_err_info *info) /* The device might not support AER */ if (!pos) - return 1; + return 0; if (info->severity == AER_CORRECTABLE) { pci_read_config_dword(dev, pos + PCI_ERR_COR_STATUS,