misc: pci_endpoint_test: Fix failure path return values in probe
authorKishon Vijay Abraham I <kishon@ti.com>
Wed, 11 Oct 2017 08:44:36 +0000 (14:14 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Dec 2017 09:10:28 +0000 (10:10 +0100)
[ Upstream commit 80068c93688f6143100859c4856f895801c1a1d9 ]

Return value of pci_endpoint_test_probe is not set properly in a couple of
failure cases. Fix it here.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/pci_endpoint_test.c

index deb2030..e787a63 100644 (file)
@@ -533,6 +533,7 @@ static int pci_endpoint_test_probe(struct pci_dev *pdev,
 
        test->base = test->bar[test_reg_bar];
        if (!test->base) {
+               err = -ENOMEM;
                dev_err(dev, "Cannot perform PCI test without BAR%d\n",
                        test_reg_bar);
                goto err_iounmap;
@@ -542,6 +543,7 @@ static int pci_endpoint_test_probe(struct pci_dev *pdev,
 
        id = ida_simple_get(&pci_endpoint_test_ida, 0, 0, GFP_KERNEL);
        if (id < 0) {
+               err = id;
                dev_err(dev, "unable to get id\n");
                goto err_iounmap;
        }