On Thu, Jun 13, 2013 at 8:30 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote:Thanks for reminder.On Thu, Jun 13, 2013 at 7:51 PM, Jiang Liu (Gerry) <jiang.liu@xxxxxxxxxx> wrote:
For the first step, I'm trying to make hotplug case work in the same way as
boot time. Do you think this patch help?
diff --git a/drivers/pci/hotplug/acpiphp_glue.c
b/drivers/pci/hotplug/acpiphp_gl
index 270fdba..12e3f6e 100644
--- a/drivers/pci/hotplug/acpiphp_glue.c
+++ b/drivers/pci/hotplug/acpiphp_glue.c
@@ -837,13 +837,13 @@ static int __ref enable_device(struct acpiphp_slot
*slot)
max = pci_scan_bridge(bus, dev, max, pass);
if (pass && dev->subordinate) {
check_hotplug_bridge(slot, dev);
- pci_bus_size_bridges(dev->subordinate);
+ pcibios_resource_survey_bus(dev->subordi
}
}
}
}
- pci_bus_assign_resources(bus);
+ pci_assign_unassigned_bus_resources(bus);
can not use use pci_assign_unassigned_bus_resources directly. as bus
could have devices that is there already
before this enable_device and could have driver loaded before.
that is why we have checking
if (PCI_SLOT(dev->devfn) != slot->device)
.