From f09662e94c129be85db1b50d08ffe70500049404 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=BB=84=E6=B6=9B?= Date: Wed, 30 Jan 2013 10:29:05 +0800 Subject: [PATCH] fiq_debugger: keep alive when watchdog enabled --- arch/arm/common/fiq_debugger.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/arm/common/fiq_debugger.c b/arch/arm/common/fiq_debugger.c index d92bafa616e5..152f38f5a022 100644 --- a/arch/arm/common/fiq_debugger.c +++ b/arch/arm/common/fiq_debugger.c @@ -43,6 +43,13 @@ #include "fiq_debugger_ringbuf.h" +#ifdef CONFIG_RK29_WATCHDOG +extern void rk29_wdt_keepalive(void); +#define wdt_keepalive() rk29_wdt_keepalive() +#else +#define wdt_keepalive() do {} while (0) +#endif + #define DEBUG_MAX 64 #define CMD_COUNT 0x0f #define MAX_UNHANDLED_FIQ_COUNT 1000000 @@ -210,6 +217,7 @@ static void dump_kernel_log(struct fiq_debugger_state *state) saved_oip = oops_in_progress; oops_in_progress = 1; for (;;) { + wdt_keepalive(); ret = log_buf_copy(buf, idx, 1023); if (ret <= 0) break; @@ -229,6 +237,8 @@ static void dump_last_kernel_log(struct fiq_debugger_state *state) char *s = last_log_get(&size); for (i = 0; i < size; i++) { + if (i % 1024 == 0) + wdt_keepalive(); c = s[i]; if (c == '\n') { state->pdata->uart_putc(state->pdev, '\r'); -- 2.34.1