From: Lars-Peter Clausen Date: Tue, 26 Jun 2012 08:43:05 +0000 (+0200) Subject: iio:adc:at91: Relase mutex on error path in at91_adc_read_raw X-Git-Tag: next-20120724~21^2~560 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=90e6dc7c274dca8a9198e3525488ea991719a799;p=karo-tx-linux.git iio:adc:at91: Relase mutex on error path in at91_adc_read_raw This issue was reported by the mini_lock.cocci coccinelle semantic patch. Signed-off-by: Lars-Peter Clausen Acked-by: Maxime Ripard Acked-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/iio/adc/at91_adc.c b/drivers/iio/adc/at91_adc.c index 6a084695b77e..f61780a02374 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;