audio: fix locking bug in the audience es305 driver
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Thu, 12 Jul 2012 17:17:44 +0000 (20:17 +0300)
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Thu, 12 Jul 2012 17:18:45 +0000 (20:18 +0300)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
drivers/misc/a1026.c

index 5ea765b..aa8cbab 100644 (file)
@@ -525,9 +525,8 @@ static long es305_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                        FIRMWARE_NAME_MAX_LENGTH);
                if (rc == FIRMWARE_NAME_MAX_LENGTH)
                        rc = -ERANGE;
-               if (rc < 0)
-                       break;
-               rc = es305_bootup_init(the_vp, firmware_name);
+               if (rc >= 0)
+                       rc = es305_bootup_init(the_vp, firmware_name);
                mutex_unlock(&the_vp->mutex);
                break;
        case A1026_SUSPEND: