diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2020-04-17 11:40:08 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2020-04-17 11:40:08 -0700 |
commit | 1634615dc14d258f3c5695338db26d5f115dabc7 (patch) | |
tree | 8447936b869cbc49ffe6b9560fb2455a38d45b9e /drivers | |
parent | 8fce9058ca8b1c784515e7986385f2b33927a44b (diff) | |
parent | ea104a9e4d3e9ebc26fb78dac35585b142ee288b (diff) |
Merge tag 'linux-watchdog-5.7-rc2' of git://www.linux-watchdog.org/linux-watchdog
Pull watchdog fix from Wim Van Sebroeck:
"Fix restart handler in sp805 driver"
* tag 'linux-watchdog-5.7-rc2' of git://www.linux-watchdog.org/linux-watchdog:
watchdog: sp805: fix restart handler
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/watchdog/sp805_wdt.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/watchdog/sp805_wdt.c b/drivers/watchdog/sp805_wdt.c index 53e04926a7b2..190d26e2e75f 100644 --- a/drivers/watchdog/sp805_wdt.c +++ b/drivers/watchdog/sp805_wdt.c @@ -137,10 +137,14 @@ wdt_restart(struct watchdog_device *wdd, unsigned long mode, void *cmd) { struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); + writel_relaxed(UNLOCK, wdt->base + WDTLOCK); writel_relaxed(0, wdt->base + WDTCONTROL); writel_relaxed(0, wdt->base + WDTLOAD); writel_relaxed(INT_ENABLE | RESET_ENABLE, wdt->base + WDTCONTROL); + /* Flush posted writes. */ + readl_relaxed(wdt->base + WDTLOCK); + return 0; } |