linux-yocto/drivers/watchdog
Christophe Leroy d12f449958 watchdog: mpc8xxx_wdt: Reload the watchdog timer when enabling the watchdog
[ Upstream commit 7dfd80f70ef00d871df5af7c391133f7ba61ad9b ]

When the watchdog gets enabled with this driver, it leaves enough time
for the core watchdog subsystem to start pinging it. But when the
watchdog is already started by hardware or by the boot loader, little
time remains before it fires and it happens that the core watchdog
subsystem doesn't have time to start pinging it.

Until commit 19ce9490aa ("watchdog: mpc8xxx: use the core worker
function") pinging was managed by the driver itself and the watchdog
was immediately pinged by setting the timer expiry to 0.

So restore similar behaviour by pinging it when enabling it so that
if it was already enabled the watchdog timer counter is reloaded.

Fixes: 19ce9490aa ("watchdog: mpc8xxx: use the core worker function")
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
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>
2025-10-15 11:58:00 +02:00
..
acquirewdt.c
advantech_ec_wdt.c
advantechwdt.c
alim1535_wdt.c
alim7101_wdt.c
apple_wdt.c watchdog: apple: Actually flush writes after requesting watchdog restart 2024-12-14 19:59:31 +01:00
ar7_wdt.c
arm_smc_wdt.c
armada_37xx_wdt.c
asm9260_wdt.c
aspeed_wdt.c watchdog: aspeed: fix 64-bit division 2025-06-04 14:42:21 +02:00
at91rm9200_wdt.c
at91sam9_wdt.c
at91sam9_wdt.h
ath79_wdt.c
bcm_kona_wdt.c
bcm47xx_wdt.c
bcm2835_wdt.c watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling 2024-01-25 15:35:37 -08:00
bcm7038_wdt.c
bd9576_wdt.c watchdog: bd9576: Drop "always-running" property 2024-06-12 11:12:25 +02:00
booke_wdt.c
cadence_wdt.c
cpu5wdt.c watchdog: cpu5wdt.c: Fix use-after-free bug caused by cpu5wdt_trigger 2024-06-12 11:12:25 +02:00
cpwd.c
da9052_wdt.c watchdog: da9052_wdt: respect TWDMIN 2025-06-27 11:08:57 +01:00
da9055_wdt.c
da9062_wdt.c
da9063_wdt.c
davinci_wdt.c
db8500_wdt.c
diag288_wdt.c
digicolor_wdt.c
dw_wdt.c watchdog: dw_wdt: Fix default timeout 2025-08-28 16:28:25 +02:00
ebc-c384_wdt.c
ep93xx_wdt.c
eurotechwdt.c
exar_wdt.c watchdog: exar: Shorten identity name to fit correctly 2025-06-19 15:28:07 +02:00
f71808e_wdt.c
ftwdt010_wdt.c
gef_wdt.c
geodewdt.c
gpio_wdt.c
gxp-wdt.c
hpwdt.c watchdog/hpwdt: Only claim UNKNOWN NMI if from iLO 2024-01-25 15:35:37 -08:00
i6300esb.c
ib700wdt.c
ibmasr.c
ie6xx_wdt.c
imgpdc_wdt.c
imx_sc_wdt.c watchdog: imx_sc_wdt: Don't disable WDT in suspend 2024-10-04 16:29:33 +02:00
imx2_wdt.c
imx7ulp_wdt.c
indydog.c
intel-mid_wdt.c
it87_wdt.c watchdog: it87_wdt: add PWRGD enable quirk for Qotom QCML04 2025-01-02 10:32:04 +01:00
it8712f_wdt.c
iTCO_vendor_support.c
iTCO_vendor.h
iTCO_wdt.c watchdog: iTCO_wdt: Report error if timeout configuration fails 2025-08-28 16:28:26 +02:00
ixp4xx_wdt.c watchdog: ixp4xx: Make sure restart always works 2023-11-20 11:59:34 +01:00
jz4740_wdt.c
Kconfig
keembay_wdt.c
kempld_wdt.c
lantiq_wdt.c
loongson1_wdt.c
lpc18xx_wdt.c
m54xx_wdt.c
machzwd.c
Makefile
marvell_gti_wdt.c watchdog: marvell_gti_wdt: Fix error code in probe() 2023-11-20 11:59:34 +01:00
max63xx_wdt.c
max77620_wdt.c
mei_wdt.c
mena21_wdt.c
menf21bmc_wdt.c
menz69_wdt.c
meson_gxbb_wdt.c
meson_wdt.c
mixcomwd.c
mlx_wdt.c
moxart_wdt.c
mpc8xxx_wdt.c watchdog: mpc8xxx_wdt: Reload the watchdog timer when enabling the watchdog 2025-10-15 11:58:00 +02:00
msc313e_wdt.c
mt7621_wdt.c
mtk_wdt.c watchdog: mediatek: Add support for MT6735 TOPRGU/WDT 2025-01-02 10:32:04 +01:00
mtx-1_wdt.c
ni903x_wdt.c
nic7018_wdt.c
npcm_wdt.c
nv_tco.c
nv_tco.h
octeon-wdt-main.c
octeon-wdt-nmi.S
of_xilinx_wdt.c
omap_wdt.c
omap_wdt.h
orion_wdt.c
pc87413_wdt.c
pcwd_pci.c
pcwd_usb.c
pcwd.c
pic32-dmt.c
pic32-wdt.c
pika_wdt.c
pm8916_wdt.c
pnx4008_wdt.c
pretimeout_noop.c
pretimeout_panic.c
pseries-wdt.c
qcom-wdt.c
rave-sp-wdt.c
rc32434_wdt.c
rdc321x_wdt.c
realtek_otto_wdt.c
renesas_wdt.c
retu_wdt.c
riowd.c
rn5t618_wdt.c
rt2880_wdt.c
rtd119x_wdt.c
rti_wdt.c watchdog: rti_wdt: Fix an OF node leak in rti_wdt_probe() 2025-02-08 09:52:25 +01:00
rza_wdt.c
rzg2l_wdt.c watchdog: rzg2l_wdt: Power on the watchdog domain in the restart handler 2025-01-09 13:31:50 +01:00
rzn1_wdt.c
s3c2410_wdt.c
sa1100_wdt.c watchdog: sa1100: Fix PTR_ERR_OR_ZERO() vs NULL check in sa1100dog_probe() 2024-06-12 11:12:25 +02:00
sama5d4_wdt.c
sb_wdog.c
sbc_epx_c3.c
sbc_fitpc2_wdt.c
sbc60xxwdt.c
sbc7240_wdt.c
sbc8360.c
sbsa_gwdt.c watchdog: sbsa: Adjust keepalive timeout to avoid MediaTek WS0 race condition 2025-08-28 16:28:25 +02:00
sc520_wdt.c
sc1200wdt.c
sch311x_wdt.c
scx200_wdt.c
shwdt.c
simatic-ipc-wdt.c
sl28cpld_wdt.c
smsc37b787_wdt.c
softdog.c
sp805_wdt.c
sp5100_tco.c
sp5100_tco.h
sprd_wdt.c
st_lpc_wdt.c
starfive-wdt.c watchdog: starfive: Check pm_runtime_enabled() before decrementing usage counter 2024-03-26 18:20:02 -04:00
stm32_iwdg.c watchdog: stm32_iwdg: initialize default timeout 2024-03-26 18:20:02 -04:00
stmp3xxx_rtc_wdt.c
stpmic1_wdt.c
sun4v_wdt.c
sunplus_wdt.c
sunxi_wdt.c
tegra_wdt.c
tqmx86_wdt.c
ts72xx_wdt.c
ts4800_wdt.c
twl4030_wdt.c
txx9wdt.c
uniphier_wdt.c
via_wdt.c
visconti_wdt.c
w83627hf_wdt.c
w83877f_wdt.c
w83977f_wdt.c
wafer5823wdt.c
watchdog_core.c
watchdog_core.h
watchdog_dev.c watchdog: set cdev owner before adding 2024-01-25 15:35:37 -08:00
watchdog_hrtimer_pretimeout.c
watchdog_pretimeout.c
watchdog_pretimeout.h
wd501p.h
wdat_wdt.c
wdrtas.c
wdt_pci.c
wdt.c
wdt285.c
wdt977.c
wm831x_wdt.c
wm8350_wdt.c
xen_wdt.c
xilinx_wwdt.c watchdog: xilinx_wwdt: Calculate max_hw_heartbeat_ms using clock frequency 2024-12-14 19:59:31 +01:00
ziirave_wdt.c watchdog: ziirave_wdt: check record length in ziirave_firm_verify() 2025-08-15 12:08:55 +02:00