OSDN Git Service

PCI/AER: Return error if AER is not supported
authorKeith Busch <keith.busch@intel.com>
Tue, 19 Dec 2017 21:06:40 +0000 (14:06 -0700)
committerBjorn Helgaas <helgaas@kernel.org>
Fri, 12 Jan 2018 00:41:05 +0000 (18:41 -0600)
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 <keith.busch@intel.com>
[bhelgaas: changelog]
Signed-off-by: Bjorn Helgaas <helgaas@kernel.org>
drivers/pci/pcie/aer/aerdrv_core.c

index 3e354f2..92ec13a 100644 (file)
@@ -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,