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 4e24cb8a94aec0ecee6e0e923f5ffee50439e601..8d4a5e3dbe8e38713c5f5324ac76114a148c8a96 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;
        }