diff options
author | Manu Abraham <abraham.manu@gmail.com> | 2009-12-04 02:40:16 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-01-17 08:55:31 -0500 |
commit | 99d96e4e9202aa046e3e2be1813ff59c84e67608 (patch) | |
tree | 09261489cb50f8672931b75218e5859e7731a32d /drivers/media/dvb/mantis/mantis_i2c.c | |
parent | 51d20db8bb9c5a14ac2320664289f13bd52625c6 (diff) |
V4L/DVB (13721): [Mantis] Bug! Before bailing out, Unlock
Thanks to hotwings <user.vdr@gmail.com> for pointing out the bug
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/mantis/mantis_i2c.c')
-rw-r--r-- | drivers/media/dvb/mantis/mantis_i2c.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/media/dvb/mantis/mantis_i2c.c b/drivers/media/dvb/mantis/mantis_i2c.c index 005df1e90a16..45d9e6bd9628 100644 --- a/drivers/media/dvb/mantis/mantis_i2c.c +++ b/drivers/media/dvb/mantis/mantis_i2c.c | |||
@@ -133,11 +133,15 @@ static int mantis_i2c_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs, in | |||
133 | ret = mantis_i2c_write(mantis, &msgs[i]); | 133 | ret = mantis_i2c_write(mantis, &msgs[i]); |
134 | 134 | ||
135 | if (ret < 0) | 135 | if (ret < 0) |
136 | return ret; | 136 | goto bail_out; |
137 | } | 137 | } |
138 | mutex_unlock(&mantis->i2c_lock); | 138 | mutex_unlock(&mantis->i2c_lock); |
139 | 139 | ||
140 | return num; | 140 | return num; |
141 | |||
142 | bail_out: | ||
143 | mutex_unlock(&mantis->i2c_lock); | ||
144 | return ret; | ||
141 | } | 145 | } |
142 | 146 | ||
143 | static u32 mantis_i2c_func(struct i2c_adapter *adapter) | 147 | static u32 mantis_i2c_func(struct i2c_adapter *adapter) |