aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/watchdog
diff options
context:
space:
mode:
authorShruthi Sanil <shruthi.sanil@intel.com>2021-05-17 23:19:47 +0530
committerWim Van Sebroeck <wim@linux-watchdog.org>2021-06-21 08:48:54 +0200
commit75f6c56dfeec92c53e09a72896547888ac9a27d7 (patch)
treef6a98af497e084ff29971a594bed2558a0611b4f /drivers/watchdog
parentwatchdog: keembay: Upadate WDT pretimeout for every update in timeout (diff)
downloadlinux-dev-75f6c56dfeec92c53e09a72896547888ac9a27d7.tar.xz
linux-dev-75f6c56dfeec92c53e09a72896547888ac9a27d7.zip
watchdog: keembay: Update pretimeout to zero in the TH ISR
The pretimeout has to be updated to zero during the ISR of the ThresHold interrupt. Else the TH interrupt would be triggerred for every tick until the timeout. Fixes: fa0f8d51e90d ("watchdog: Add watchdog driver for Intel Keembay Soc") Reviewed-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Tested-by: Kris Pan <kris.pan@intel.com> Signed-off-by: Shruthi Sanil <shruthi.sanil@intel.com> Link: https://lore.kernel.org/r/20210517174953.19404-4-shruthi.sanil@intel.com Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
Diffstat (limited to 'drivers/watchdog')
-rw-r--r--drivers/watchdog/keembay_wdt.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/watchdog/keembay_wdt.c b/drivers/watchdog/keembay_wdt.c
index b2afeb4a60e3..6053416b8d3d 100644
--- a/drivers/watchdog/keembay_wdt.c
+++ b/drivers/watchdog/keembay_wdt.c
@@ -154,6 +154,8 @@ static irqreturn_t keembay_wdt_th_isr(int irq, void *dev_id)
struct keembay_wdt *wdt = dev_id;
struct arm_smccc_res res;
+ keembay_wdt_set_pretimeout(&wdt->wdd, 0x0);
+
arm_smccc_smc(WDT_ISR_CLEAR, WDT_ISR_MASK, 0, 0, 0, 0, 0, 0, &res);
dev_crit(wdt->wdd.parent, "Intel Keem Bay non-sec wdt pre-timeout.\n");
watchdog_notify_pretimeout(&wdt->wdd);