diff options
Diffstat (limited to 'drivers/mfd/m4sensorhub-panic.c')
| -rw-r--r-- | drivers/mfd/m4sensorhub-panic.c | 7 |
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); |