[PATCH part3 09/11] PCI: Clean up rescan_bus_bridge_resize()

From: Yinghai Lu
Date: Sun Sep 02 2012 - 17:53:26 EST


Should only use it with bridge instead of bus.
It could get new subordinate. so can not use it with reguar bus.

In that case, user may need to make sure all children devices get removed
already before rescan.

Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
---
drivers/pci/pci-sysfs.c | 7 ++-----
1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
index 2100c04..60cb06b 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
@@ -339,7 +339,7 @@ dev_bridge_rescan_store(struct device *dev, struct device_attribute *attr,

if (val) {
mutex_lock(&pci_remove_rescan_mutex);
- pci_rescan_bus(pdev->subordinate);
+ pci_rescan_bus_bridge_resize(pdev);
mutex_unlock(&pci_remove_rescan_mutex);
}
return count;
@@ -389,10 +389,7 @@ dev_bus_rescan_store(struct device *dev, struct device_attribute *attr,

if (val) {
mutex_lock(&pci_remove_rescan_mutex);
- if (!pci_is_root_bus(bus) && list_empty(&bus->devices))
- pci_rescan_bus_bridge_resize(bus->self);
- else
- pci_rescan_bus(bus);
+ pci_rescan_bus(bus);
mutex_unlock(&pci_remove_rescan_mutex);
}
return count;
--
1.7.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/