Skip to content

Commit

Permalink
PCI: aer_inject: Fix return values when device not found
Browse files Browse the repository at this point in the history
Currently the aer_inject driver returns -ENOTTY when the target PCIe
device root port is not found or if the device or root port doesn't
support AER.

In the case where the root port isn't found, the driver should return
-ENODEV, and in the other cases it should return -EPERM.

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
  • Loading branch information
Prarit Bhargava authored and Bjorn Helgaas committed Apr 3, 2013
1 parent f6161aa commit e82b14b
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions drivers/pci/pcie/aer/aer_inject.c
Original file line number Diff line number Diff line change
Expand Up @@ -334,13 +334,13 @@ static int aer_inject(struct aer_error_inj *einj)
return -ENODEV;
rpdev = pcie_find_root_port(dev);
if (!rpdev) {
ret = -ENOTTY;
ret = -ENODEV;
goto out_put;
}

pos_cap_err = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_ERR);
if (!pos_cap_err) {
ret = -ENOTTY;
ret = -EPERM;
goto out_put;
}
pci_read_config_dword(dev, pos_cap_err + PCI_ERR_UNCOR_SEVER, &sever);
Expand All @@ -350,7 +350,7 @@ static int aer_inject(struct aer_error_inj *einj)

rp_pos_cap_err = pci_find_ext_capability(rpdev, PCI_EXT_CAP_ID_ERR);
if (!rp_pos_cap_err) {
ret = -ENOTTY;
ret = -EPERM;
goto out_put;
}

Expand Down

0 comments on commit e82b14b

Please sign in to comment.