[PATCH] iio:adc:at91: Relase mutex on error path in at91_adc_read_raw

Lars-Peter Clausen lars at metafoo.de
Tue Jun 26 08:43:05 UTC 2012


This issue was reported by the mini_lock.cocci coccinelle semantic patch.

Signed-off-by: Lars-Peter Clausen <lars at metafoo.de>
Acked-by: Maxime Ripard <maxime.ripard at free-electrons.com>
Acked-by: Jonathan Cameron <jic23 at kernel.org>
---
 drivers/iio/adc/at91_adc.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/adc/at91_adc.c b/drivers/iio/adc/at91_adc.c
index 6a08469..f61780a 100644
--- a/drivers/iio/adc/at91_adc.c
+++ b/drivers/iio/adc/at91_adc.c
@@ -349,9 +349,11 @@ static int at91_adc_read_raw(struct iio_dev *idev,
 						       st->done,
 						       msecs_to_jiffies(1000));
 		if (ret == 0)
-			return -ETIMEDOUT;
-		else if (ret < 0)
+			ret = -ETIMEDOUT;
+		if (ret < 0) {
+			mutex_unlock(&st->lock);
 			return ret;
+		}
 
 		*val = st->last_value;
 
-- 
1.7.10




More information about the devel mailing list