From: Robert Love On Sun, 2003-04-13 at 16:05, Andrew Morton wrote: > It's a bk bug. This might make it boot: Yah, I needed a similar patch to make 2.5.67-mm2 boot. Not sure if its hiding the real problem or not, but it works. Note the difference between mine and your's, though. I think you need it. drivers/base/class.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/base/class.c~devclass-oops-workaround drivers/base/class.c --- 25/drivers/base/class.c~devclass-oops-workaround 2003-04-13 13:53:54.000000000 -0700 +++ 25-akpm/drivers/base/class.c 2003-04-13 13:53:54.000000000 -0700 @@ -105,12 +105,12 @@ int devclass_add_driver(struct device_dr struct device_class * cls = get_devclass(drv->devclass); int error = 0; - if (cls) { + if (cls && &cls->subsys) { down_write(&cls->subsys.rwsem); pr_debug("device class %s: adding driver %s:%s\n", cls->name,drv->bus->name,drv->name); error = devclass_drv_link(drv); - + if (!error) list_add_tail(&drv->class_list,&cls->drivers.list); up_write(&cls->subsys.rwsem); _