Browse Source

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 <keith.busch@intel.com>
[bhelgaas: changelog]
Signed-off-by: Bjorn Helgaas <helgaas@kernel.org>
Keith Busch 7 years ago
parent
commit
0f6f1d9fca
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/pci/pcie/aer/aerdrv_core.c

+ 1 - 1
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,