]>
Commit | Line | Data |
---|---|---|
469cb8aa GKH |
1 | From 9eff1140a82db8c5520f76e51c21827b4af670b3 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Usyskin <alexander.usyskin@intel.com> | |
3 | Date: Tue, 8 Nov 2016 17:55:52 +0200 | |
4 | Subject: watchdog: mei_wdt: request stop on reboot to prevent false positive event | |
5 | ||
6 | From: Alexander Usyskin <alexander.usyskin@intel.com> | |
7 | ||
8 | commit 9eff1140a82db8c5520f76e51c21827b4af670b3 upstream. | |
9 | ||
10 | Systemd on reboot enables shutdown watchdog that leaves the watchdog | |
11 | device open to ensure that even if power down process get stuck the | |
12 | platform reboots nonetheless. | |
13 | The iamt_wdt is an alarm-only watchdog and can't reboot system, but the | |
14 | FW will generate an alarm event reboot was completed in time, as the | |
15 | watchdog is not automatically disabled during power cycle. | |
16 | So we should request stop watchdog on reboot to eliminate wrong alarm | |
17 | from the FW. | |
18 | ||
19 | Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> | |
20 | Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> | |
21 | Reviewed-by: Guenter Roeck <linux@roeck-us.net> | |
22 | Signed-off-by: Guenter Roeck <linux@roeck-us.net> | |
23 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
24 | ||
25 | --- | |
26 | drivers/watchdog/mei_wdt.c | 2 ++ | |
27 | 1 file changed, 2 insertions(+) | |
28 | ||
29 | --- a/drivers/watchdog/mei_wdt.c | |
30 | +++ b/drivers/watchdog/mei_wdt.c | |
31 | @@ -389,6 +389,8 @@ static int mei_wdt_register(struct mei_w | |
32 | wdt->wdd.max_timeout = MEI_WDT_MAX_TIMEOUT; | |
33 | ||
34 | watchdog_set_drvdata(&wdt->wdd, wdt); | |
35 | + watchdog_stop_on_reboot(&wdt->wdd); | |
36 | + | |
37 | ret = watchdog_register_device(&wdt->wdd); | |
38 | if (ret) { | |
39 | dev_err(dev, "unable to register watchdog device = %d.\n", ret); |