From 4c80b95c7b5cf1eb7c86e20bf13d8ca7a3d464bd Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Tue, 21 Oct 2003 18:23:01 -0700 Subject: [PATCH] [PATCH] Fix oops with CONFIG_MCA=y With CONFIG_MCA=y and no MCA bus present, drivers go oops deep in the kobject code when calling mca_register_driver(). Because there is no MCA subsystem registered against the driver. Plug this in mca_register_driver(). --- drivers/mca/mca-driver.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/mca/mca-driver.c b/drivers/mca/mca-driver.c index 89fba902177e2..2223466b3d8a5 100644 --- a/drivers/mca/mca-driver.c +++ b/drivers/mca/mca-driver.c @@ -32,9 +32,11 @@ int mca_register_driver(struct mca_driver *mca_drv) { int r; - mca_drv->driver.bus = &mca_bus_type; - if ((r = driver_register(&mca_drv->driver)) < 0) - return r; + if (MCA_bus) { + mca_drv->driver.bus = &mca_bus_type; + if ((r = driver_register(&mca_drv->driver)) < 0) + return r; + } return 0; } @@ -42,6 +44,7 @@ EXPORT_SYMBOL(mca_register_driver); void mca_unregister_driver(struct mca_driver *mca_drv) { - driver_unregister(&mca_drv->driver); + if (MCA_bus) + driver_unregister(&mca_drv->driver); } EXPORT_SYMBOL(mca_unregister_driver); -- 2.53.0