diff options
Diffstat (limited to 'drivers/staging/speakup/kobjects.c')
-rw-r--r-- | drivers/staging/speakup/kobjects.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/staging/speakup/kobjects.c b/drivers/staging/speakup/kobjects.c index cc79f9e..408bb9b 100644 --- a/drivers/staging/speakup/kobjects.c +++ b/drivers/staging/speakup/kobjects.c @@ -984,8 +984,10 @@ int speakup_kobj_init(void) * not known ahead of time. */ accessibility_kobj = kobject_create_and_add("accessibility", NULL); - if (!accessibility_kobj) - return -ENOMEM; + if (!accessibility_kobj) { + retval = -ENOMEM; + goto out; + } speakup_kobj = kobject_create_and_add("speakup", accessibility_kobj); if (!speakup_kobj) { @@ -1002,7 +1004,7 @@ int speakup_kobj_init(void) if (retval) goto err_group; - return 0; + goto out; err_group: sysfs_remove_group(speakup_kobj, &main_attr_group); @@ -1010,6 +1012,7 @@ err_speakup: kobject_put(speakup_kobj); err_acc: kobject_put(accessibility_kobj); +out: return retval; } |