msm: subsystem_fatal: Fix nested disable_irq calls
IRQ enables/disables are nested, therefore n disables
need to be followed by n enables to truly enable
an interrupt.
CRs-Fixed: 299463
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
diff --git a/arch/arm/mach-msm/subsystem-fatal-8x60.c b/arch/arm/mach-msm/subsystem-fatal-8x60.c
index b830591..ae5519d 100644
--- a/arch/arm/mach-msm/subsystem-fatal-8x60.c
+++ b/arch/arm/mach-msm/subsystem-fatal-8x60.c
@@ -61,6 +61,7 @@
{
pr_err("%s: Watchdog bite received from Q6!\n", MODULE_NAME);
subsystem_restart("lpass");
+ enable_irq(LPASS_Q6SS_WDOG_EXPIRED);
}
static void send_q6_nmi(void)
@@ -156,6 +157,7 @@
iounmap(hwio_modem_reset_addr);
subsystem_restart("modem");
+ enable_irq(MARM_WDOG_EXPIRED);
}
static void modem_fatal_fn(struct work_struct *work)
@@ -173,6 +175,7 @@
if (modem_state == 0 || modem_state & panic_smsm_states) {
subsystem_restart("modem");
+ enable_irq(MARM_WDOG_EXPIRED);
} else if (modem_state & reset_smsm_states) {