

From: Robert Love <rml@tech9.net>

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);

_
