Re: Panic in pci_call_probe from 2.6.18-mm2 and 2.6.18-mm3

From: Jeff Garzik
Date: Mon Oct 09 2006 - 13:35:45 EST


Martin Bligh wrote:
Badari Pulavarty wrote:
On Sun, 2006-10-08 at 00:02 -0700, Martin J. Bligh wrote:

Not sure if you've seen this already ... catching up on test results.

This was on NUMA-Q, on both -mm2 and -mm3. -mm1 didn't suffer from this
problem.

Full logs:

mm2 - http://test.kernel.org/abat/50727/debug/console.log
mm3 - http://test.kernel.org/abat/51442/debug/console.log

config - http://test.kernel.org/abat/51442/build/dotconfig

I'm guessing from the 00000004 that the pcibus_to_node(dev->bus)
is failing because bus->sysdata is NULL. The disassembly and
structure offsets seem to line up for that.

#define pcibus_to_node(bus) (
(struct pci_sysdata *)((bus)->sysdata))->node

struct pci_sysdata {
int domain; /* PCI domain */
int node; /* NUMA node */
};



Martin,

Jeff moved "node" to a proper field in sysdata, instead
of overloading sysdata itself. I think this is causing the
problem. I guess we could end up with sysdata = NULL in some
cases ? Since you are the NUMA-Q expert, where does sysdata gets set for NUMA-Q ? :)

-mm2 changed:

#define pcibus_to_node(bus) ((long) (bus)->sysdata)

to
#define pcibus_to_node(bus) ((struct pci_sysdata *)((bus)->sysdata))-

node

Buggered if I know, that's some strange pci thing ;-)

But can we revert whatever patch that was until it gets fixed, please?

It needs to get fixed, otherwise whose buses of PCI devices disappear on some machines.

Can you turn on PCI debugging?

Jeff



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