|
@@ -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:
|