Commit bfbb7cca authored by Stefan Riedmueller's avatar Stefan Riedmueller Committed by Kelsey Skunberg

watchdog: da9062: No need to ping manually before setting timeout

BugLink: https://bugs.launchpad.net/bugs/1885932

[ Upstream commit a0948ddb ]

There is actually no need to ping the watchdog before disabling it
during timeout change. Disabling the watchdog already takes care of
resetting the counter.

This fixes an issue during boot when the userspace watchdog handler takes
over and the watchdog is already running. Opening the watchdog in this case
leads to the first ping and directly after that without the required
heartbeat delay a second ping issued by the set_timeout call. Due to the
missing delay this resulted in a reset.
Signed-off-by: default avatarStefan Riedmueller <s.riedmueller@phytec.de>
Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
Reviewed-by: default avatarAdam Thomson <Adam.Thomson.Opensource@diasemi.com>
Link: https://lore.kernel.org/r/20200403130728.39260-3-s.riedmueller@phytec.deSigned-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarWim Van Sebroeck <wim@linux-watchdog.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarKamal Mostafa <kamal@canonical.com>
Signed-off-by: default avatarKelsey Skunberg <kelsey.skunberg@canonical.com>
parent 30225f09
...@@ -94,11 +94,6 @@ static int da9062_wdt_update_timeout_register(struct da9062_watchdog *wdt, ...@@ -94,11 +94,6 @@ static int da9062_wdt_update_timeout_register(struct da9062_watchdog *wdt,
unsigned int regval) unsigned int regval)
{ {
struct da9062 *chip = wdt->hw; struct da9062 *chip = wdt->hw;
int ret;
ret = da9062_reset_watchdog_timer(wdt);
if (ret)
return ret;
return regmap_update_bits(chip->regmap, return regmap_update_bits(chip->regmap,
DA9062AA_CONTROL_D, DA9062AA_CONTROL_D,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment