summaryrefslogtreecommitdiff
path: root/drivers/mfd/m4sensorhub-panic.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mfd/m4sensorhub-panic.c')
-rw-r--r--drivers/mfd/m4sensorhub-panic.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/mfd/m4sensorhub-panic.c b/drivers/mfd/m4sensorhub-panic.c
index 6ce982b3f0c..f1cc373b12f 100644
--- a/drivers/mfd/m4sensorhub-panic.c
+++ b/drivers/mfd/m4sensorhub-panic.c
@@ -225,7 +225,12 @@ void m4sensorhub_panic_process(struct m4sensorhub_data *m4sensorhub)
KDEBUG(M4SH_ERROR, "m4sensorhub_panic: Detected M4 panic, reset M4!\n");
m4sensorhub->pdev->hw_reset(m4sensorhub);
msleep(100);
- ret = m4sensorhub_load_firmware(m4sensorhub, 0, NULL);
+ if (m4sensorhub->i2c_client->addr == 0x39) {
+ ret = m4sensorhub_401_load_firmware(m4sensorhub, 0, NULL);
+ } else {
+ ret = m4sensorhub_load_firmware(m4sensorhub, 0, NULL);
+ }
+
if (ret < 0) {
KDEBUG(M4SH_ERROR, "m4sensorhub_panic: "\
"Failed to restart M4, ret = %d\n", ret);