Staging: cx25821: fix double unlock in medusa_video_init()
authorDan Carpenter <error27@gmail.com>
Mon, 28 Dec 2009 16:59:46 +0000 (18:59 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 4 Mar 2010 00:42:38 +0000 (16:42 -0800)
medusa_set_videostandard() takes the lock but it always drops it before
returning.

This was found with a static checker and compile tested only.  :/

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/cx25821/cx25821-medusa-video.c

index 1eb079b3d429dc48b8ef9b218e5b3df29c71c83f..d6016200d6995a065f00da466d68242fcc0f80f5 100644 (file)
@@ -795,10 +795,8 @@ int medusa_video_init(struct cx25821_dev *dev)
        value &= 0xFFFFFFDF;
        ret_val = cx25821_i2c_write(&dev->i2c_bus[0], MON_A_CTRL, value);
 
-       if (ret_val < 0) {
-               mutex_unlock(&dev->lock);
+       if (ret_val < 0)
                return -EINVAL;
-       }
 
        mutex_unlock(&dev->lock);