[1/4] V4L: cx231xx, fix lock imbalance

Message ID 1288180057-19656-1-git-send-email-jslaby@suse.cz (mailing list archive)
State Superseded, archived
Headers

Commit Message

Jiri Slaby Oct. 27, 2010, 11:47 a.m. UTC
  Stanse found that there is mutex_lock in a fail path of
cx231xx_i2c_xfer instead of mutex_unlock (i.e. double lock + leaving a
function in locked state). So fix that.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: Devin Heitmueller <dheitmueller@hauppauge.com>
---
 drivers/media/video/cx231xx/cx231xx-i2c.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
  

Comments

Devin Heitmueller Oct. 27, 2010, 12:28 p.m. UTC | #1
On Wed, Oct 27, 2010 at 7:47 AM, Jiri Slaby <jslaby@suse.cz> wrote:
> Stanse found that there is mutex_lock in a fail path of
> cx231xx_i2c_xfer instead of mutex_unlock (i.e. double lock + leaving a
> function in locked state). So fix that.
>
> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
> Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
> Cc: Devin Heitmueller <dheitmueller@hauppauge.com>

This was already reported and a patch was submitted by Dan Carpenter
on October 21.  See mail on that day with subject line:  "[patch]
V4L/DVB: cx231xx: fix double lock typo".

Cheers,

Devin
  

Patch

diff --git a/drivers/media/video/cx231xx/cx231xx-i2c.c b/drivers/media/video/cx231xx/cx231xx-i2c.c
index cce74e5..8356706 100644
--- a/drivers/media/video/cx231xx/cx231xx-i2c.c
+++ b/drivers/media/video/cx231xx/cx231xx-i2c.c
@@ -372,7 +372,7 @@  static int cx231xx_i2c_xfer(struct i2c_adapter *i2c_adap,
 			rc = cx231xx_i2c_check_for_device(i2c_adap, &msgs[i]);
 			if (rc < 0) {
 				dprintk2(2, " no device\n");
-				mutex_lock(&dev->i2c_lock);
+				mutex_unlock(&dev->i2c_lock);
 				return rc;
 			}