diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2013-12-19 16:24:13 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2013-12-19 17:02:55 -0500 |
commit | e75f34ce6633549486a044d64b2a79240d4113a8 (patch) | |
tree | 3a3e6ef1a6e0c00cb9fd8996e2744b42f899c412 /drivers | |
parent | f39862058e1f278e0495cd9ea57de571e74aa1fe (diff) |
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')
-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) | |||
349 | return retval; | 349 | return retval; |
350 | } | 350 | } |
351 | 351 | ||
352 | get_device(device); | ||
353 | return 0; | 352 | return 0; |
354 | } | 353 | } |
355 | 354 | ||
@@ -456,10 +455,8 @@ int pcie_port_device_resume(struct device *dev) | |||
456 | 455 | ||
457 | static int remove_iter(struct device *dev, void *data) | 456 | static int remove_iter(struct device *dev, void *data) |
458 | { | 457 | { |
459 | if (dev->bus == &pcie_port_bus_type) { | 458 | if (dev->bus == &pcie_port_bus_type) |
460 | put_device(dev); | ||
461 | device_unregister(dev); | 459 | device_unregister(dev); |
462 | } | ||
463 | return 0; | 460 | return 0; |
464 | } | 461 | } |
465 | 462 | ||