Re: PROBLEM: Devices behind PCI Express-to-PCI bridge not mapped

Andreas Koch
2005-06-04T15:57:46Z

On Fri, Jun 03, 2005 at 09:50:13PM -0700, Linus Torvalds wrote:
> Usually the easiest way to match up things is to just do
>
> x/10i pci_setup_bridge+0x1a2
>
> and match it up with "make drivers/pci/setup-bus.s".

OK, here's some more info (now visible on an 80x60 FB console):

1) I can see a couple of messages

PCI: Failed to allocate mem resource #10:2000000@80000000 for 0000:06:09.1
...

followed by

PCI: Bus 7, cardbus bridge: 0000:06:09.0
IO window: 00005000-00005fff
IO window: 00006000-00006fff
PREFETCH window: 80000000-81ffffff
MEM window: 80000000-81ffffff

, repeated for busses 11 and 15 of the cardbus bridge. This is the
notebook-internal cardbus bridge (see lspci in previous mail).

2) The last messages right before the oops are

PCI: Bridge 0000:00:1e.0
IO window 1000-6fff
MEM window: 01000000-0dffffff

This is the Southbridge to the notebook-internal PCI bus 0000:06

3) The oops itself occurs when attempting to setup the PREFETCH window of
that bridge and begins

Unable to handle kernel NULL pointer dereference at virtual address 00000004

Specifically, it is located at the call of

pcibios_resource_to_bus(bridge, &region, bus->resource[2]);

in drivers/pci/setup-bus.c, line 202. I confirmed that
bus->resource[2] is indeed NULL at that time.

Interestingly, the PCI Express-to-PCI bus in the docking station
appears _not_ to be involved in this crash.

As usual, please let me know what additional info would be useful.

Andreas