PCI: Only call pci_stop_bus_device() one time for child devices at remove
authorYinghai Lu <yinghai.lu@oracle.com>
Wed, 23 Nov 2011 05:06:53 +0000 (21:06 -0800)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Fri, 6 Jan 2012 20:10:48 +0000 (12:10 -0800)
commit79cc9601c3e42b4f0650fe7e69132ebce7ab48f9
treea64d1866bb2081f08396e23523171b7a9f2bada9
parentca3671a83389eea1458929d22c66a69e955bfb07
PCI: Only call pci_stop_bus_device() one time for child devices at remove

During debugging pcie hotplug with SRIOV with pcie switch, I found
pci_stop_bus_device() is called several times for some child devices.

So change original pci_remove_bus_device() to __pci_remove_bus_device(),
and make it only do remove work, and add a new pci_remove_bus_device
that calls pci_stop_bus_device() one time, and then call
__pci_remove_bus_device().

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/remove.c