msm: mdm: reset errfatal and status gpios during mdm SSR
For subsystem restart phase 3, the external modem is power cycled without
the msm being power cycled. In that case, it is necessary to reset the
values of the AP2MDM_ERRFATAL and AP2MDM_STATUS gpios to their quiescent
states towards the end of the mdm SSR.
Change-Id: Ic3f8c100e90725a8ba1ae6242bc9f9f828bb1e67
Signed-off-by: Joel King <joelking@codeaurora.org>
diff --git a/arch/arm/mach-msm/mdm_common.c b/arch/arm/mach-msm/mdm_common.c
index 7445a61..04c29cc 100644
--- a/arch/arm/mach-msm/mdm_common.c
+++ b/arch/arm/mach-msm/mdm_common.c
@@ -242,6 +242,8 @@
static int mdm_subsys_powerup(const struct subsys_data *crashed_subsys)
{
+ gpio_direction_output(mdm_drv->ap2mdm_errfatal_gpio, 0);
+ gpio_direction_output(mdm_drv->ap2mdm_status_gpio, 1);
mdm_drv->ops->power_on_mdm_cb(mdm_drv);
mdm_drv->boot_type = CHARM_NORMAL_BOOT;
complete(&mdm_needs_reload);