diff options
author | Naga RADHESH Y <naga.radheshy@stericsson.com> | 2012-02-14 07:46:56 +0100 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@linaro.org> | 2012-02-14 16:02:56 +0100 |
commit | cb0576bb9262fd5ddffa4b9a76a5be5ac13116b7 (patch) | |
tree | fafc7576e6e2a638185ca570e34d9e452e5b1586 | |
parent | 18fc8b6f03ffac9231557aea563a124433771fc7 (diff) |
hwmon: add mutex unlock in error cases
In some error cases mutexunlock is missed,
so add mutex unlock in error cases.
ST-Ericsson ID: 371373
ST-Ericsson Linux next: NA
ST-Ericsson FOSS-OUT ID: Trivial
Signed-off-by: Naga Radhesh <naga.radheshy@stericsson.com>
-rw-r--r-- | drivers/hwmon/lsm303dlh_a.c | 1 | ||||
-rw-r--r-- | drivers/hwmon/lsm303dlh_m.c | 1 | ||||
-rw-r--r-- | drivers/hwmon/lsm303dlhc_a.c | 5 |
3 files changed, 6 insertions, 1 deletions
diff --git a/drivers/hwmon/lsm303dlh_a.c b/drivers/hwmon/lsm303dlh_a.c index d14468618ee..cda627b3398 100644 --- a/drivers/hwmon/lsm303dlh_a.c +++ b/drivers/hwmon/lsm303dlh_a.c @@ -764,6 +764,7 @@ static ssize_t lsm303dlh_a_store_range(struct device *dev, ddata->shift_adjust = SHIFT_ADJ_8G; break; default: + mutex_unlock(&ddata->lock); return -EINVAL; } diff --git a/drivers/hwmon/lsm303dlh_m.c b/drivers/hwmon/lsm303dlh_m.c index 6fbd3df59f0..96291af52c7 100644 --- a/drivers/hwmon/lsm303dlh_m.c +++ b/drivers/hwmon/lsm303dlh_m.c @@ -517,6 +517,7 @@ static ssize_t lsm303dlh_m_store_range(struct device *dev, z_gain = Z_GAIN_8_1; break; default: + mutex_unlock(&ddata->lock); return -EINVAL; } diff --git a/drivers/hwmon/lsm303dlhc_a.c b/drivers/hwmon/lsm303dlhc_a.c index a8b1cd95fa9..8b7e2fe37b9 100644 --- a/drivers/hwmon/lsm303dlhc_a.c +++ b/drivers/hwmon/lsm303dlhc_a.c @@ -314,8 +314,10 @@ static ssize_t lsm303dlhc_a_store_range(struct device *dev, error = lsm303dlhc_a_write(ddata, CTRL_REG4, ddata->range, "CTRL_REG4"); - if (error < 0) + if (error < 0) { + mutex_unlock(&ddata->lock); return error; + } switch (val) { case LSM303DLHC_A_RANGE_2G: @@ -331,6 +333,7 @@ static ssize_t lsm303dlhc_a_store_range(struct device *dev, ddata->shift_adjust = SHIFT_ADJ_16G; break; default: + mutex_unlock(&ddata->lock); return -EINVAL; } |