2006-09-13 16:41:07

by Cornelia Huck

[permalink] [raw]
Subject: [06/12] driver core fixes: bus_add_attrs() retval check

From: Cornelia Huck <[email protected]>

Check return value of bus_add_attrs() in bus_register().

Signed-off-by: Cornelia Huck <[email protected]>

bus.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

--- linux-2.6.18-rc6/drivers/base/bus.c 2006-09-12 14:15:16.000000000 +0200
+++ linux-2.6.18-rc6+CH/drivers/base/bus.c 2006-09-12 17:10:50.000000000 +0200
@@ -744,11 +744,15 @@ int bus_register(struct bus_type * bus)

klist_init(&bus->klist_devices, klist_devices_get, klist_devices_put);
klist_init(&bus->klist_drivers, klist_drivers_get, klist_drivers_put);
- 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: