This was found to be a problem particularly after guest migration. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Reported-by: Wouter de Geus <benv-xensource.com@xxxxxxxxxxxxx> Reported-by: Ian Campbell <Ian.Campbell@xxxxxxxxxx> Tested-by: Wouter de Geus <benv-xensource.com@xxxxxxxxxxxxx> --- drivers/watchdog/xen_wdt.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) --- 3.3/drivers/watchdog/xen_wdt.c +++ 3.3-xen-watchdog-resume/drivers/watchdog/xen_wdt.c @@ -299,11 +299,18 @@ static void xen_wdt_shutdown(struct plat static int xen_wdt_suspend(struct platform_device *dev, pm_message_t state) { - return xen_wdt_stop(); + typeof(wdt.id) id = wdt.id; + int rc = xen_wdt_stop(); + + wdt.id = id; + return rc; } static int xen_wdt_resume(struct platform_device *dev) { + if (!wdt.id) + return 0; + wdt.id = 0; return xen_wdt_start(); } -- 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