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

From: Martin Bligh
Date: Mon Oct 09 2006 - 13:25:00 EST


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?

Thanks,

M.
-
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/