kernel trap 12
Matthew Dillon
dillon at apollo.backplane.com
Tue Jul 20 13:49:29 PDT 2004
:-On [20040720 22:12], Matthew Dillon (dillon at xxxxxxxxxxxxxxxxxxxx) wrote:
:> Well, lets start with a stack trace ('trace' in ddb).
:
:panic(c0328fae, d1728260, c3081788, c03294f9, c3081788) at panic+0x97
:devclass_add_device(c3081788, d1728260) at devclass_add_device+0x83
:make_device(0,c03294f9,0,c04e6d84,c0182e6b) at make_device+0x11b
:root_bus_module_handler()
:module_register_init()
:
:This ought to be enough for what we need...
:
Ugh. wild goose chase. That case must be occuring more then once. It
died adding the root device which has no name but does have a device
class, so that can't be it. Lets try something else.
Remove the assertion and add some more printf's to bus_generic_probe():
-Matt
Index: kern/subr_bus.c
===================================================================
RCS file: /cvs/src/sys/kern/subr_bus.c,v
retrieving revision 1.21
diff -u -r1.21 subr_bus.c
--- kern/subr_bus.c 8 Jul 2004 12:43:32 -0000 1.21
+++ kern/subr_bus.c 20 Jul 2004 20:48:15 -0000
@@ -1776,8 +1776,19 @@
devclass_t dc = dev->devclass;
driverlink_t dl;
- TAILQ_FOREACH(dl, &dc->drivers, link)
+ printf("bus_generic_probe: %p dc=%p driver=%p "
+ "unit=%d name=%s desc=%s busy=%d state=%d flags=%08x\n",
+ dev, dc, dev->driver,
+ dev->unit, dev->nameunit, dev->desc,
+ dev->busy, dev->state, dev->flags);
+ if (dev->driver->name)
+ printf("bus_generic_probe: DNAME: %s\n", dev->driver->name);
+
+ TAILQ_FOREACH(dl, &dc->drivers, link) {
+ printf("generic probe of driverlink %p\n", dl);
+ printf("generic probe of driver %p\n", dl->driver);
DEVICE_IDENTIFY(dl->driver, dev);
+ }
return(0);
}
More information about the Bugs
mailing list