watchdog: apple: Actually flush writes after requesting watchdog restart

[ Upstream commit 51dfe714c03c066aabc815a2bb2adcc998dfcb30 ]

Although there is an existing code comment about flushing the writes,
writes were not actually being flushed.

Actually flush the writes by changing readl_relaxed() to readl().

Fixes: 4ed224aeaf ("watchdog: Add Apple SoC watchdog driver")
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
Reviewed-by: Guenter Roeck  <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20241001170018.20139-2-towinchenmi@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Nick Chan 2024-10-02 00:59:51 +08:00 committed by Greg Kroah-Hartman
parent 0bcea01215
commit d0c1a72b56

View File

@ -130,7 +130,7 @@ static int apple_wdt_restart(struct watchdog_device *wdd, unsigned long mode,
* can take up to ~20-25ms until the SoC is actually reset. Just wait * can take up to ~20-25ms until the SoC is actually reset. Just wait
* 50ms here to be safe. * 50ms here to be safe.
*/ */
(void)readl_relaxed(wdt->regs + APPLE_WDT_WD1_CUR_TIME); (void)readl(wdt->regs + APPLE_WDT_WD1_CUR_TIME);
mdelay(50); mdelay(50);
return 0; return 0;