summaryrefslogtreecommitdiffstats
path: root/drivers/base/bus.c
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2006-09-22 11:37:04 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2006-10-18 12:49:55 -0700
commit1bb6881acae1c4f11a6e86f04df32ba45e95031d (patch)
treec26795fdd0f062ba741d4bbb82a960c942119e3c /drivers/base/bus.c
parentf0e1761ac528e9d28f3ba06bd268ec41fe872ac8 (diff)
driver core fixes: bus_add_attrs() retval check
Check return value of bus_add_attrs() in bus_register(). Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/base/bus.c')
-rw-r--r--drivers/base/bus.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/base/bus.c b/drivers/base/bus.c
index 12173d16bea..b90f6e6f644 100644
--- a/drivers/base/bus.c
+++ b/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: