summaryrefslogtreecommitdiffstats
path: root/drivers/watchdog
diff options
context:
space:
mode:
authorMika Westerberg <mika.westerberg@linux.intel.com>2016-10-20 18:03:36 +0300
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2016-10-21 01:28:33 +0200
commit28e3d7002ba9f773662b2cf75d28cadfa29dc442 (patch)
tree8c8f43b6566b0643ca36a43e8f6b03a074bc9c77 /drivers/watchdog
parentcda3b9178510297ac968b7e129e20caaaa66c581 (diff)
downloadlinux-stable-28e3d7002ba9f773662b2cf75d28cadfa29dc442.tar.gz
linux-stable-28e3d7002ba9f773662b2cf75d28cadfa29dc442.tar.bz2
linux-stable-28e3d7002ba9f773662b2cf75d28cadfa29dc442.zip
watchdog: wdat_wdt: Ping the watchdog on resume
It turns out we need to ping the watchdog hardware on resume when we re-program it. Otherwise this causes inadvertent reset to trigger right after the resume is complete. Fixes: 058dfc767008 (ACPI / watchdog: Add support for WDAT hardware watchdog) Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Acked-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/watchdog')
-rw-r--r--drivers/watchdog/wdat_wdt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/watchdog/wdat_wdt.c b/drivers/watchdog/wdat_wdt.c
index e473e3b23720..6d1fbda0f461 100644
--- a/drivers/watchdog/wdat_wdt.c
+++ b/drivers/watchdog/wdat_wdt.c
@@ -499,6 +499,10 @@ static int wdat_wdt_resume_noirq(struct device *dev)
ret = wdat_wdt_enable_reboot(wdat);
if (ret)
return ret;
+
+ ret = wdat_wdt_ping(&wdat->wdd);
+ if (ret)
+ return ret;
}
return wdat_wdt_start(&wdat->wdd);