summaryrefslogtreecommitdiff
path: root/drivers/base/class.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base/class.c')
-rw-r--r--drivers/base/class.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/base/class.c b/drivers/base/class.c
index b9fdce488e..ed13d9de0d 100644
--- a/drivers/base/class.c
+++ b/drivers/base/class.c
@@ -361,6 +361,8 @@ void class_device_unregister(struct class_device *class_dev)
int class_device_rename(struct class_device *class_dev, char *new_name)
{
+ int error = 0;
+
class_dev = class_device_get(class_dev);
if (!class_dev)
return -EINVAL;
@@ -370,11 +372,11 @@ int class_device_rename(struct class_device *class_dev, char *new_name)
strlcpy(class_dev->class_id, new_name, KOBJ_NAME_LEN);
- kobject_rename(&class_dev->kobj, new_name);
+ error = kobject_rename(&class_dev->kobj, new_name);
class_device_put(class_dev);
- return 0;
+ return error;
}
struct class_device * class_device_get(struct class_device *class_dev)