]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/staging/speakup/kobjects.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / staging / speakup / kobjects.c
index cc79f9edfe9eea01e3af06d854b95a38af2196d4..07a7f5432597f4d88719850e15406435b9a9b412 100644 (file)
@@ -332,7 +332,7 @@ static ssize_t silent_store(struct kobject *kobj, struct kobj_attribute *attr,
        unsigned long flags;
 
        len = strlen(buf);
-       if (len > 0 || len < 3) {
+       if (len > 0 && len < 3) {
                ch = buf[0];
                if (ch == '\n')
                        ch = '0';
@@ -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;
 }