]> Pileus Git - ~andy/linux/commitdiff
PCI/portdrv: Cleanup error paths
authorBjorn Helgaas <bhelgaas@google.com>
Thu, 19 Dec 2013 21:20:09 +0000 (14:20 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 19 Dec 2013 21:20:09 +0000 (14:20 -0700)
Make the straightline path the normal no-error path.  Check for errors and
return them directly, instead of checking for success and putting the
normal path in an "if" body.

No functional change.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/pcie/portdrv_core.c

index 0b6e76604068043d9c261ddb9461757d4e64c279..fc86d323feccfd5a96b464a0fc165dfd641e249b 100644 (file)
@@ -344,11 +344,13 @@ static int pcie_device_init(struct pci_dev *pdev, int service, int irq)
        device_enable_async_suspend(device);
 
        retval = device_register(device);
-       if (retval)
+       if (retval) {
                kfree(pcie);
-       else
-               get_device(device);
-       return retval;
+               return retval;
+       }
+
+       get_device(device);
+       return 0;
 }
 
 /**
@@ -498,12 +500,12 @@ static int pcie_port_probe_service(struct device *dev)
 
        pciedev = to_pcie_device(dev);
        status = driver->probe(pciedev);
-       if (!status) {
-               dev_printk(KERN_DEBUG, dev, "service driver %s loaded\n",
-                       driver->name);
-               get_device(dev);
-       }
-       return status;
+       if (status)
+               return status;
+
+       dev_printk(KERN_DEBUG, dev, "service driver %s loaded\n", driver->name);
+       get_device(dev);
+       return 0;
 }
 
 /**