From: Cornelia Huck <[email protected]>
Check for return value of add_class_attrs() in class_register().
Signed-off-by: Cornelia Huck <[email protected]>
class.c | 2 ++
1 file changed, 2 insertions(+)
--- linux-2.6.18-rc6/drivers/base/class.c 2006-09-12 16:19:43.000000000 +0200
+++ linux-2.6.18-rc6+CH/drivers/base/class.c 2006-09-12 17:01:12.000000000 +0200
@@ -153,6 +153,8 @@ int class_register(struct class * cls)
error = subsystem_register(&cls->subsys);
if (!error) {
error = add_class_attrs(class_get(cls));
+ if (error)
+ subsystem_unregister(&cls->subsys);
class_put(cls);
}
return error;