On Thu, Mar 8, 2012 at 11:37 AM, Thierry Reding
[off-list ref] wrote:
* Bjorn Helgaas wrote:
quoted
Hmm, your patch looks OK as far as it goes, but the implementation of
pci_fixup_irqs() as a call-once-at-boot-time thing with a loop through
all the PCI devices we've found so far looks completely broken with
regard to hotplug.
Who does the swizzle for devices hot-added after boot?
Perhaps I should have mentioned this in the commit message, but the patch
isn't actually used in a hotplug scenario. In fact, the code is still run
once at boot time, only very late. Grant's deferred probing allows the
PCIe controller driver to postpone initialization until all the devices
that it depends on (regulators) have been probed. This has the side-effect
that the probing actually takes place *after* code and data annotated with
__init have already been freed.
Oh, I know *you're* not using the hotplug scenario. I'm just thinking
that the PCi core looks a little broken in that scenario.
I think your patch is fine; it's just that I think the PCI core needs
a little more attention in this area.
Bjorn