PCI: aer_inject: Fix return values when device not found
authorPrarit Bhargava <prarit@redhat.com>
Wed, 20 Mar 2013 12:04:43 +0000 (12:04 +0000)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 3 Apr 2013 23:08:45 +0000 (17:08 -0600)
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>
drivers/pci/pcie/aer/aer_inject.c

index 4e24cb8..8d4a5e3 100644 (file)
@@ -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);
@@ -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;
        }