Re: [Bisected] [-next-20130204] usb/hcd: irq 18: nobody cared

From: Yinghai Lu
Date: Mon Feb 11 2013 - 22:21:47 EST

On Mon, Feb 11, 2013 at 4:08 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
> On Mon, Feb 11, 2013 at 2:41 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote:
>> [+cc linux-acpi, linux-pci]
>> The _PRT describes motherboard interrupt wiring, which has nothing to
>> do with PCI bus numbers. Our current drivers/acpi/pci_irq.c caches
>> the PCI bus number along with the _PRT, and I think that's a mistake.
>> The bus number binding means acpi_pci_irq_add_prt() has to happen
>> after enumerating everything below a bridge, and it will prevent us
>> from doing any bus number reassignment for hotplug.
>> I think we should remove the bus numbers from the cached _PRT (or
>> maybe even remove the _PRT caching completely). When we enable a PCI
>> device's IRQ, we should search up the PCI device tree looking for a
>> _PRT associated with each node, and applying normal PCI bridge
>> swizzling when we don't find a _PRT. I think this can be done without
>> using PCI bus numbers at all.
> Agreed, will give it try to remove the _PRT caching completely.

Please check attached patch that removes _PRT caching.



Attachment: move_setup_prt_down.patch
Description: Binary data