From: Cornelia Huck <[email protected]>
Check for return value of sysfs_create_link() in class_device_add().
Signed-off-by: Cornelia Huck <[email protected]>
---
drivers/base/class.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- linux-2.6-CH.orig/drivers/base/class.c
+++ linux-2.6-CH/drivers/base/class.c
@@ -602,7 +602,10 @@ int class_device_add(struct class_device
goto out2;
/* add the needed attributes to this device */
- sysfs_create_link(&class_dev->kobj, &parent_class->subsys.kset.kobj, "subsystem");
+ error = sysfs_create_link(&class_dev->kobj,
+ &parent_class->subsys.kset.kobj, "subsystem");
+ if (error)
+ goto out3;
class_dev->uevent_attr.attr.name = "uevent";
class_dev->uevent_attr.attr.mode = S_IWUSR;
class_dev->uevent_attr.attr.owner = parent_class->owner;