summaryrefslogtreecommitdiff
path: root/drivers/misc/m4sensorhub_heartrate.c
diff options
context:
space:
mode:
authorEric Tashakkor <w36098@motorola.com>2014-07-09 15:42:22 -0500
committerERIC TASHAKKOR <w36098@motorola.com>2014-07-10 13:20:41 +0000
commit2f02ffa1a9d46c192d19fed48190beceb9b6ec21 (patch)
tree5726951fcc89a14602cf5982e78cfb5cc8d26ef1 /drivers/misc/m4sensorhub_heartrate.c
parente1dfac029c58558d572d68b18d4d2a89470de088 (diff)
downloadolio-linux-3.10-2f02ffa1a9d46c192d19fed48190beceb9b6ec21.tar.xz
olio-linux-3.10-2f02ffa1a9d46c192d19fed48190beceb9b6ec21.zip
IKXCLOCK-2819 Add Mutex Protection to M4 Panic Handlers
Added mutex locking in panic restore handlers for all drivers to prevent losing data when restoring after an M4 panic. Added a mutex to the mpu9150 driver to prevent concurrent access issues and loss of data during normal operation. Change-Id: I9ad5595c632518093ad1aec86afc7a51d3cbbee3 Signed-off-by: Eric Tashakkor <w36098@motorola.com>
Diffstat (limited to 'drivers/misc/m4sensorhub_heartrate.c')
-rw-r--r--drivers/misc/m4sensorhub_heartrate.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/misc/m4sensorhub_heartrate.c b/drivers/misc/m4sensorhub_heartrate.c
index 6e45b134bba..f2876ce9cda 100644
--- a/drivers/misc/m4sensorhub_heartrate.c
+++ b/drivers/misc/m4sensorhub_heartrate.c
@@ -494,9 +494,11 @@ static void m4hrt_panic_restore(struct m4sensorhub_data *m4sensorhub,
__func__);
return;
}
+
+ mutex_lock(&(dd->mutex));
+
size = m4sensorhub_reg_getsize(dd->m4,
M4SH_REG_HEARTRATE_APSAMPLERATE);
-
err = m4sensorhub_reg_write(dd->m4, M4SH_REG_HEARTRATE_APSAMPLERATE,
(char *)&dd->samplerate, m4sh_no_mask);
if (err < 0) {
@@ -505,6 +507,8 @@ static void m4hrt_panic_restore(struct m4sensorhub_data *m4sensorhub,
m4hrt_err("%s: Wrote %d bytes instead of %d.\n",
__func__, err, size);
}
+
+ mutex_unlock(&(dd->mutex));
}
static int m4hrt_driver_init(struct init_calldata *p_arg)