diff options
author | Levente Kurusa <levex@linux.com> | 2013-12-19 14:22:35 -0700 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2013-12-19 15:02:54 -0700 |
commit | f39862058e1f278e0495cd9ea57de571e74aa1fe (patch) | |
tree | 44de78187ff7b969533224a8be0ddbcf99c8e501 /drivers | |
parent | 8f3acca9acec1503f6b374faef2d1013cbf502af (diff) | |
download | linux-stable-f39862058e1f278e0495cd9ea57de571e74aa1fe.tar.gz linux-stable-f39862058e1f278e0495cd9ea57de571e74aa1fe.tar.bz2 linux-stable-f39862058e1f278e0495cd9ea57de571e74aa1fe.zip |
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')
-rw-r--r-- | drivers/pci/pcie/portdrv_core.c | 2 |
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; } |