diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/android/Makefile | 1 | ||||
-rw-r--r-- | drivers/watchdog/tegra_wdt.c | 8 |
2 files changed, 7 insertions, 2 deletions
diff --git a/drivers/staging/android/Makefile b/drivers/staging/android/Makefile index 907b62f56203..0a01e1914905 100644 --- a/drivers/staging/android/Makefile +++ b/drivers/staging/android/Makefile @@ -1,7 +1,6 @@ ccflags-y += -I$(src) # needed for trace events obj-y += ion/ -obj-$(CONFIG_FIQ_DEBUGGER) += fiq_debugger/ obj-$(CONFIG_ANDROID_BINDER_IPC) += binder.o obj-$(CONFIG_ASHMEM) += ashmem.o diff --git a/drivers/watchdog/tegra_wdt.c b/drivers/watchdog/tegra_wdt.c index d83adeff021e..59a410038569 100644 --- a/drivers/watchdog/tegra_wdt.c +++ b/drivers/watchdog/tegra_wdt.c @@ -157,6 +157,11 @@ static irqreturn_t tegra_wdt_interrupt(int irq, void *dev_id) #define PMC_RST_STATUS 0x1b4 struct tegra_wdt *tegra_wdt[MAX_NR_CPU_WDT]; +/* + * In order to generate the stack dump for the CPU which has IRQ off, we must + * use the FIQ. TEGRA WDT can generate the FIQ if we do not ACK the IRQ. + */ +bool wdt_nmi_ack_off; static inline void tegra_wdt_ping(struct tegra_wdt *wdt) { @@ -170,7 +175,8 @@ static inline void tegra_wdt_ping(struct tegra_wdt *wdt) #if !defined(CONFIG_TRUSTED_FOUNDATIONS) && \ defined(CONFIG_ARCH_TEGRA_12x_SOC) && defined(CONFIG_FIQ_DEBUGGER) - writel(WDT_CMD_START_COUNTER, wdt->wdt_avp_source + WDT_CMD); + if (wdt_nmi_ack_off == false) + writel(WDT_CMD_START_COUNTER, wdt->wdt_avp_source + WDT_CMD); #endif } |