]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
watchdog: apple: Actually flush writes after requesting watchdog restart
authorNick Chan <towinchenmi@gmail.com>
Tue, 1 Oct 2024 16:59:51 +0000 (00:59 +0800)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Mon, 4 Nov 2024 12:13:02 +0000 (13:13 +0100)
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: 4ed224aeaf661 ("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>
drivers/watchdog/apple_wdt.c

index d4f739932f0be8394c827e9beed3c1bbc4aace0d..62dabf223d90960b06fec3e28030b7d3779052ac 100644 (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
         * 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);
 
        return 0;