diff options
author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2006-09-22 05:37:04 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-10-18 15:49:55 -0400 |
commit | 1bb6881acae1c4f11a6e86f04df32ba45e95031d (patch) | |
tree | c26795fdd0f062ba741d4bbb82a960c942119e3c /drivers/base/bus.c | |
parent | f0e1761ac528e9d28f3ba06bd268ec41fe872ac8 (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.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/base/bus.c b/drivers/base/bus.c index 12173d16bea7..b90f6e6f6442 100644 --- a/drivers/base/bus.c +++ b/drivers/base/bus.c | |||
@@ -732,11 +732,15 @@ int bus_register(struct bus_type * bus) | |||
732 | 732 | ||
733 | klist_init(&bus->klist_devices, klist_devices_get, klist_devices_put); | 733 | klist_init(&bus->klist_devices, klist_devices_get, klist_devices_put); |
734 | klist_init(&bus->klist_drivers, NULL, NULL); | 734 | klist_init(&bus->klist_drivers, NULL, NULL); |
735 | bus_add_attrs(bus); | 735 | retval = bus_add_attrs(bus); |
736 | if (retval) | ||
737 | goto bus_attrs_fail; | ||
736 | 738 | ||
737 | pr_debug("bus type '%s' registered\n", bus->name); | 739 | pr_debug("bus type '%s' registered\n", bus->name); |
738 | return 0; | 740 | return 0; |
739 | 741 | ||
742 | bus_attrs_fail: | ||
743 | kset_unregister(&bus->drivers); | ||
740 | bus_drivers_fail: | 744 | bus_drivers_fail: |
741 | kset_unregister(&bus->devices); | 745 | kset_unregister(&bus->devices); |
742 | bus_devices_fail: | 746 | bus_devices_fail: |