Re: ACPI hotplug panic with current git head

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Grant Grundler wrote:
> On Mon, Jan 26, 2009 at 11:11:35AM +0900, Kenji Kaneshige wrote:
> ...
>> Thanks to you, I found the root cause of the
>> problem. The acpi_pci_get_bridge_handle() function assumes
>> pci_bus->self is NULL on the root bus.
> 
> Mea culpa: I contributed this mess too. This worked for PA-RISC
> and lacking better guidance, is what I used in 1/2 the places.
> 
>> But it is not true
>> and pci_bus->self can have a non-NULL value on some
>> platfroms (like yours). So it must check pci_bus->parent
>> instead.
> 
> It is true for PA-RISC and some other architectures.
> These architectures don't provide fake PCI devices
> (emulated PCI config space) for Host-PCI Bus controllers.
> 
>> I found some other code that has the same wrong assumption.
>> I'll make a fix for them and send it soon.
> 
> I would like to keep the code consistent. Attached is a patch
> for drivers/parisc. Please include with my
>     Signed-off-by: Grant Grundler <grundler@xxxxxxxxxxxxxxxx>
> 
> Or if you prefer, I can repost as a separate patch.
> 
> I've compiled the iosapic/lba changes and will test those shortly.
> I have no HW (by choice) to test the dino code change.
> 

Thank you for the patch for drivers/parisc.

I cannot change platform dependent code or driver for each hardware
because I don't have enough knowledge. Maybe all I can do is only
for generic pci code. So I'd like you to post it as a separate patch.

BTW, I'm wondering if a function something like below is useful
to keep the code consistent. What do you think about it?

/*
 * Returns true if the pci bus is root (behind host-pci brdige),
 * false otherwise
 */
static inline bool pci_is_root_bus(struct pci_bus *pbus)
{
       return !(pbus->parent);
}

Thanks,
Kenji Kaneshige



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

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux