On Fri, Apr 20, 2007 at 11:29:52AM -0700, Greg Kroah-Hartman wrote:
 > On Fri, Apr 20, 2007 at 02:20:29PM -0400, Dave Jones wrote:
 > > 
 > > btw Greg, wtf does driver_register return a 0 as 'success' if it
 > > completes the function, and 0 as 'failure' if !bus ?
 > > That seems doomed to failure.
 > 
 > I don't know why the code does that, we should always have a bus
 > assigned to a driver.  I'll change that and watch to see what breaks :)

Maybe this?

We should always have a bus in bus_add_driver()
Instead of returning success when we don't, BUG().

Signed-off-by: Dave Jones <[EMAIL PROTECTED]>

diff --git a/drivers/base/bus.c b/drivers/base/bus.c
index 253868e..3ba8f1f 100644
--- a/drivers/base/bus.c
+++ b/drivers/base/bus.c
@@ -530,8 +530,7 @@ int bus_add_driver(struct device_driver *drv)
        struct bus_type * bus = get_bus(drv->bus);
        int error = 0;
 
-       if (!bus)
-               return 0;
+       BUG_ON(!bus);
 
        pr_debug("bus %s: add driver %s\n", bus->name, drv->name);
        error = kobject_set_name(&drv->kobj, "%s", drv->name);

-- 
http://www.codemonkey.org.uk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to