diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2013-12-19 14:24:13 -0700 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2013-12-19 15:02:55 -0700 |
commit | e75f34ce6633549486a044d64b2a79240d4113a8 (patch) | |
tree | 3a3e6ef1a6e0c00cb9fd8996e2744b42f899c412 /drivers/pci/pcie | |
parent | f39862058e1f278e0495cd9ea57de571e74aa1fe (diff) | |
download | talos-op-linux-e75f34ce6633549486a044d64b2a79240d4113a8.tar.gz talos-op-linux-e75f34ce6633549486a044d64b2a79240d4113a8.zip |
PCI/portdrv: Remove extra get_device()/put_device() for pcie_device
Previously pcie_device_init() called get_device() if device_register() for
the new pcie_device succeeded, and remove_iter() called put_device() when
removing before unregistering the device.
But device_register() already increments the reference count in
device_add(), so we don't need to do it again here.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/pcie')
-rw-r--r-- | drivers/pci/pcie/portdrv_core.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c index 9811eea53511..6a6e54909335 100644 --- a/drivers/pci/pcie/portdrv_core.c +++ b/drivers/pci/pcie/portdrv_core.c @@ -349,7 +349,6 @@ static int pcie_device_init(struct pci_dev *pdev, int service, int irq) return retval; } - get_device(device); return 0; } @@ -456,10 +455,8 @@ int pcie_port_device_resume(struct device *dev) static int remove_iter(struct device *dev, void *data) { - if (dev->bus == &pcie_port_bus_type) { - put_device(dev); + if (dev->bus == &pcie_port_bus_type) device_unregister(dev); - } return 0; } |