summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaga Radhesh <naga.radheshy@stericsson.com>2011-11-22 17:24:38 +0530
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:06:09 +0200
commit3d9343d19c7fe803adad87a0af2a017a9ef6ead0 (patch)
treee5fa6d9970020ccb7ba5caadb4e59993194507fe
parentd6b9b1256559d5f827ff2aa6620d24e5f3abdcd9 (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> Change-Id: If3648c5d3e8dad623c7b87fa77bef1f28ba2a056 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/39253 Reviewed-by: QATOOLS Reviewed-by: QABUILD Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
-rw-r--r--drivers/hwmon/lsm303dlh_a.c1
-rw-r--r--drivers/hwmon/lsm303dlh_m.c1
-rw-r--r--drivers/hwmon/lsm303dlhc_a.c5
3 files changed, 6 insertions, 1 deletions
diff --git a/drivers/hwmon/lsm303dlh_a.c b/drivers/hwmon/lsm303dlh_a.c
index 5321fb47155..309d60ae8ec 100644
--- a/drivers/hwmon/lsm303dlh_a.c
+++ b/drivers/hwmon/lsm303dlh_a.c
@@ -762,6 +762,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 5ade20cea97..311e88fb58c 100644
--- a/drivers/hwmon/lsm303dlh_m.c
+++ b/drivers/hwmon/lsm303dlh_m.c
@@ -516,6 +516,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;
}