summaryrefslogtreecommitdiff
path: root/drivers/pci/pcie
diff options
context:
space:
mode:
authorLevente Kurusa <levex@linux.com>2013-12-19 14:22:35 -0700
committerBjorn Helgaas <bhelgaas@google.com>2013-12-19 15:02:54 -0700
commitf39862058e1f278e0495cd9ea57de571e74aa1fe (patch)
tree44de78187ff7b969533224a8be0ddbcf99c8e501 /drivers/pci/pcie
parent8f3acca9acec1503f6b374faef2d1013cbf502af (diff)
PCI/portdrv: Add put_device() after device_register() failure
This is required so that we give up the last reference to the device. Removed the kfree() as put_device will result in release_pcie_device() being called and hence the container of the device will be kfree'd. [bhelgaas: fix conflict after my previous cleanup] Signed-off-by: Levente Kurusa <levex@linux.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/pcie')
-rw-r--r--drivers/pci/pcie/portdrv_core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c
index fc86d323fecc..9811eea53511 100644
--- a/drivers/pci/pcie/portdrv_core.c
+++ b/drivers/pci/pcie/portdrv_core.c
@@ -345,7 +345,7 @@ static int pcie_device_init(struct pci_dev *pdev, int service, int irq)
retval = device_register(device);
if (retval) {
- kfree(pcie);
+ put_device(device);
return retval;
}