summaryrefslogtreecommitdiffstats
path: root/drivers/iio/adc
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2012-06-26 10:43:05 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-06-26 14:57:30 -0700
commit90e6dc7c274dca8a9198e3525488ea991719a799 (patch)
tree80c0cf43ce915bbd5871374d27b31ba14e64a816 /drivers/iio/adc
parentbb23378c0b1c9a410d40adea74276544a00fb94e (diff)
downloadlinux-90e6dc7c274dca8a9198e3525488ea991719a799.tar.bz2
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 <lars@metafoo.de> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/iio/adc')
-rw-r--r--drivers/iio/adc/at91_adc.c6
1 files changed, 4 insertions, 2 deletions
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;