diff --git a/[refs] b/[refs] index 26dfd0d85b3c..d972cbd5ab8e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f0e1761ac528e9d28f3ba06bd268ec41fe872ac8 +refs/heads/master: 1bb6881acae1c4f11a6e86f04df32ba45e95031d diff --git a/trunk/drivers/base/bus.c b/trunk/drivers/base/bus.c index 12173d16bea7..b90f6e6f6442 100644 --- a/trunk/drivers/base/bus.c +++ b/trunk/drivers/base/bus.c @@ -732,11 +732,15 @@ int bus_register(struct bus_type * bus) klist_init(&bus->klist_devices, klist_devices_get, klist_devices_put); klist_init(&bus->klist_drivers, NULL, NULL); - bus_add_attrs(bus); + retval = bus_add_attrs(bus); + if (retval) + goto bus_attrs_fail; pr_debug("bus type '%s' registered\n", bus->name); return 0; +bus_attrs_fail: + kset_unregister(&bus->drivers); bus_drivers_fail: kset_unregister(&bus->devices); bus_devices_fail: