This driver was broken since ever. - Interrupt request doesn't use the right API: The TWD watchdog uses a per-cpu interrupt (usually interrupt #30), and the GIC configuration should flag it as such. With this setup, request_irq() should fail, and the right API is request_percpu_irq(), together with enable_percpu_irq()/disable_percpu_irq(). - Nothing ensures the userspace ioctl() will end-up kicking the watchdog on the right CPU. Was last discussed here: http://lists.infradead.org/pipermail/linux-arm-kernel/2012-April/095960.html Lets mark it broken until somebody with this hardware gets up and fixes it. Suggested-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> --- drivers/watchdog/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index 9d03af1..c7dabe9 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig @@ -223,7 +223,7 @@ config DW_WATCHDOG config MPCORE_WATCHDOG tristate "MPcore watchdog" - depends on HAVE_ARM_TWD + depends on HAVE_ARM_TWD && BROKEN help Watchdog timer embedded into the MPcore system. -- 1.7.12.rc2.18.g61b472e -- To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html