Re: ACPI hotplug panic with current git head

Kenji Kaneshige
2009-01-19T01:10:06Z

James Bottomley wrote:
> On Fri, 2009-01-16 at 15:07 +0900, Kenji Kaneshige wrote:
>>> It looks like acpi_pci_get_bridge_handle() is returning NULL, so this is
>>> the fix that works for me.
>>>
>> I'm sorry for troubling you, and thank you for your patience.
>>
>> The patch seems to avoid the kernel panic, but I still don't know
>> why acpi_pci_get_bridge_handle() returns NULL here. I assumed
>> it should return non-NULL value here. So I'd like to investigate
>> it more.
>
> Sure, Len and I couldn't work out why it was returning NULL on this box
> (other than that perhaps it doesn't have an ACPI entry). The two
> offending busses which trigger this are the two internal ones (which
> aren't hotplug). The layout of the box is:
>
> sparkweed:~# lspci -t
> -+-[0000:0c]---00.0
> +-[0000:0a]---00.0
> +-[0000:08]---00.0
> +-[0000:06]---00.0
> +-[0000:04]---00.0
> +-[0000:02]---00.0
> +-[0000:01]-+-00.0
> | +-01.0
> | +-01.1
> | \-02.0
> \-[0000:00]-+-00.0
> +-01.0
> +-03.0
> +-03.1
> +-03.2
> +-0f.0
> +-0f.1
> \-0f.3
> sparkweed:~# lspci
> 00:00.0 Host bridge: IBM Calgary PCI-X Host Bridge (rev 02)
> 00:01.0 VGA compatible controller: ATI Technologies Inc Radeon RV100 QY
> [Radeon 7000/VE]
> 00:03.0 USB Controller: NEC Corporation USB (rev 43)
> 00:03.1 USB Controller: NEC Corporation USB (rev 43)
> 00:03.2 USB Controller: NEC Corporation USB 2.0 (rev 04)
> 00:0f.0 Host bridge: Broadcom CSB6 South Bridge (rev a0)
> 00:0f.1 IDE interface: Broadcom CSB6 RAID/IDE Controller (rev a0)
> 00:0f.3 ISA bridge: Broadcom GCLE-2 Host Bridge
> 01:00.0 Host bridge: IBM Calgary PCI-X Host Bridge (rev 02)
> 01:01.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5704
> Gigabit Ethernet (rev 10)
> 01:01.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5704
> Gigabit Ethernet (rev 10)
> 01:02.0 SCSI storage controller: Adaptec AIC-9410W SAS (Razor ASIC
> non-RAID) (rev 08)
> 02:00.0 Host bridge: IBM Calgary PCI-X Host Bridge (rev 02)
> 04:00.0 Host bridge: IBM Calgary PCI-X Host Bridge (rev 02)
> 06:00.0 Host bridge: IBM Calgary PCI-X Host Bridge (rev 02)
> 08:00.0 Host bridge: IBM Calgary PCI-X Host Bridge (rev 02)
> 0a:00.0 Host bridge: IBM Calgary PCI-X Host Bridge (rev 02)
> 0c:00.0 Host bridge: IBM Calgary PCI-X Host Bridge (rev 02)
>
> And when I annotate the problem, the two busses returning NULL are
> 0000:00 and 0000:01
>

Thank you very much for the information. It seems there are
something special in the data structure of host bridge for
0000:00 and 0000:01.

I'm making a debug patch now and will send it to you as soon
as possible. I'm sorry to trouble you, but could you try it
later.

Thanks,
Kenji Kaneshige