WSL2-Linux-Kernel/drivers/watchdog
Ben Wolsieffer 704dc01387 watchdog: stm32_iwdg: initialize default timeout
[ Upstream commit dbd7c0088b7f44aa0b9276ed3449df075a7b5b54 ]

The driver never sets a default timeout value, therefore it is
initialized to zero. When CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED is
enabled, the watchdog is started during probe. The kernel is supposed to
automatically ping the watchdog from this point until userspace takes
over, but this does not happen if the configured timeout is zero. A zero
timeout causes watchdog_need_worker() to return false, so the heartbeat
worker does not run and the system therefore resets soon after the
driver is probed.

This patch fixes this by setting an arbitrary non-zero default timeout.
The default could be read from the hardware instead, but I didn't see
any reason to add this complexity.

This has been tested on an STM32F746.

Fixes: 85fdc63fe2 ("drivers: watchdog: stm32_iwdg: set WDOG_HW_RUNNING at probe")
Signed-off-by: Ben Wolsieffer <ben.wolsieffer@hefring.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20240228182723.12855-1-ben.wolsieffer@hefring.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>
2024-03-26 18:21:33 -04:00
..
Kconfig ar7: fix kernel builds for compiler test 2021-11-18 19:17:03 +01:00
Makefile watchdog: bd70528 drop bd70528 support 2021-08-22 10:28:06 +02:00
acquirewdt.c
advantechwdt.c
alim1535_wdt.c
alim7101_wdt.c
ar7_wdt.c
arm_smc_wdt.c
armada_37xx_wdt.c watchdog: armada_37xx_wdt: check the return value of devm_ioremap() in armada_37xx_wdt_probe() 2022-08-17 14:24:11 +02:00
asm9260_wdt.c
aspeed_wdt.c
at91rm9200_wdt.c
at91sam9_wdt.c watchdog: at91sam9_wdt: use devm_request_irq to avoid missing free_irq() in error path 2023-03-11 13:57:27 +01:00
at91sam9_wdt.h
ath79_wdt.c
bcm47xx_wdt.c
bcm63xx_wdt.c
bcm2835_wdt.c watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling 2024-01-25 14:52:44 -08:00
bcm7038_wdt.c
bcm_kona_wdt.c
bd9576_wdt.c
booke_wdt.c
cadence_wdt.c
cpu5wdt.c
cpwd.c
da9052_wdt.c
da9055_wdt.c
da9062_wdt.c
da9063_wdt.c
davinci_wdt.c
diag288_wdt.c watchdog: diag288_wdt: fix __diag288() inline assembly 2023-02-09 11:26:41 +01:00
digicolor_wdt.c
dw_wdt.c watchdog: dw_wdt: Fix the error handling path of dw_wdt_drv_probe() 2023-05-17 11:50:16 +02:00
ebc-c384_wdt.c
ep93xx_wdt.c
eurotechwdt.c
f71808e_wdt.c watchdog: f71808e_wdt: fix inaccurate report in WDIOC_GETTIMEOUT 2021-11-18 19:17:03 +01:00
ftwdt010_wdt.c
gef_wdt.c
geodewdt.c
gpio_wdt.c
hpwdt.c watchdog/hpwdt: Only claim UNKNOWN NMI if from iLO 2024-01-25 14:52:44 -08:00
i6300esb.c
iTCO_vendor.h
iTCO_vendor_support.c
iTCO_wdt.c watchdog: iTCO_wdt: Set NO_REBOOT if the watchdog is not already running 2023-10-06 13:18:20 +02:00
ib700wdt.c
ibmasr.c
ie6xx_wdt.c
imgpdc_wdt.c
imx2_wdt.c watchdog: imx2_wdg: notify wdog core to stop ping worker on suspend 2021-08-22 10:28:08 +02:00
imx7ulp_wdt.c
imx_sc_wdt.c
indydog.c
intel-mid_wdt.c watchdog: intel-mid_wdt: add MODULE_ALIAS() to allow auto-load 2023-09-19 12:22:57 +02:00
iop_wdt.c
it87_wdt.c watchdog: it87_wdt: Keep WDTCTRL bit 3 unmodified for IT8784/IT8786 2024-02-23 08:54:49 +01:00
it8712f_wdt.c
ixp4xx_wdt.c watchdog: ixp4xx_wdt: Fix address space warning 2021-10-26 20:22:51 +02:00
jz4740_wdt.c
keembay_wdt.c
kempld_wdt.c
lantiq_wdt.c
loongson1_wdt.c
lpc18xx_wdt.c
m54xx_wdt.c
machzwd.c
max63xx_wdt.c watchdog: max63xx_wdt: Add device tree probing 2021-08-22 10:28:11 +02:00
max77620_wdt.c
mei_wdt.c
mena21_wdt.c
menf21bmc_wdt.c
menz69_wdt.c watchdog: menz069_wdt: fix watchdog initialisation 2023-06-09 10:32:19 +02:00
meson_gxbb_wdt.c
meson_wdt.c
mixcomwd.c
mlx_wdt.c
moxart_wdt.c
mpc8xxx_wdt.c watchdog: mpc8xxx_wdt: Constify static struct watchdog_ops 2021-08-22 10:28:10 +02:00
msc313e_wdt.c
mt7621_wdt.c
mtk_wdt.c watchdog: mediatek: mt8195: add wdt support 2021-08-22 10:28:11 +02:00
mtx-1_wdt.c
ni903x_wdt.c
nic7018_wdt.c
npcm_wdt.c
nv_tco.c
nv_tco.h
octeon-wdt-main.c linux-watchdog 5.14-rc1 tag 2021-07-07 12:57:46 -07:00
octeon-wdt-nmi.S
of_xilinx_wdt.c
omap_wdt.c watchdog: Fix OMAP watchdog early handling 2021-10-26 20:22:51 +02:00
omap_wdt.h
orion_wdt.c
pc87413_wdt.c
pcwd.c
pcwd_pci.c
pcwd_usb.c watchdog: pcwd_usb: Fix attempting to access uninitialized memory 2023-03-11 13:57:27 +01:00
pic32-dmt.c
pic32-wdt.c
pika_wdt.c
pm8916_wdt.c
pnx4008_wdt.c
pretimeout_noop.c
pretimeout_panic.c
qcom-wdt.c
rave-sp-wdt.c
rc32434_wdt.c
rdc321x_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: Drop runtime pm reference count when watchdog is unused 2024-01-25 14:52:44 -08:00
rza_wdt.c
s3c2410_wdt.c
sa1100_wdt.c
sama5d4_wdt.c
sb_wdog.c
sbc60xxwdt.c
sbc7240_wdt.c
sbc8360.c
sbc_epx_c3.c
sbc_fitpc2_wdt.c
sbsa_gwdt.c sbsa_gwdt: Calculate timeout with 64-bit math 2023-11-28 16:56:33 +00:00
sc520_wdt.c
sc1200wdt.c
sch311x_wdt.c
scx200_wdt.c
shwdt.c
sl28cpld_wdt.c watchdog: sl28cpld_wdt: Constify static struct watchdog_ops 2021-08-22 10:28:09 +02:00
smsc37b787_wdt.c
softdog.c
sp805_wdt.c
sp5100_tco.c watchdog: sp5100_tco: support Hygon FCH/SCH (Server Controller Hub) 2023-08-26 14:23:25 +02:00
sp5100_tco.h Watchdog: sp5100_tco: Enable Family 17h+ CPUs 2022-05-25 09:57:23 +02:00
sprd_wdt.c
st_lpc_wdt.c
stm32_iwdg.c watchdog: stm32_iwdg: initialize default timeout 2024-03-26 18:21:33 -04:00
stmp3xxx_rtc_wdt.c
stpmic1_wdt.c
sun4v_wdt.c
sunxi_wdt.c
tegra_wdt.c
tqmx86_wdt.c watchdog: tqmx86: Constify static struct watchdog_ops 2021-08-22 10:28:10 +02:00
ts72xx_wdt.c
ts4800_wdt.c watchdog: ts4800_wdt: Fix refcount leak in ts4800_wdt_probe 2022-06-14 18:36:09 +02:00
twl4030_wdt.c
txx9wdt.c
uniphier_wdt.c
ux500_wdt.c
via_wdt.c
visconti_wdt.c
w83627hf_wdt.c
w83877f_wdt.c
w83977f_wdt.c
wafer5823wdt.c
watchdog_core.c watchdog: introduce watchdog_dev_suspend/resume 2021-08-22 10:28:08 +02:00
watchdog_core.h
watchdog_dev.c watchdog: set cdev owner before adding 2024-01-25 14:52:44 -08:00
watchdog_hrtimer_pretimeout.c
watchdog_pretimeout.c
watchdog_pretimeout.h
wd501p.h
wdat_wdt.c watchdog: wdat_wdt: Stop watchdog when rebooting the system 2022-06-14 18:36:22 +02:00
wdrtas.c
wdt.c
wdt285.c
wdt977.c
wdt_pci.c
wm831x_wdt.c
wm8350_wdt.c
xen_wdt.c
ziirave_wdt.c