linux/drivers/watchdog
Ahmad Fatoum 4f39d57584 watchdog: f71808e_wdt: clear watchdog timeout occurred flag
The flag indicating a watchdog timeout having occurred normally persists
till Power-On Reset of the Fintek Super I/O chip. The user can clear it
by writing a `1' to the bit.

The driver doesn't offer a restart method, so regular system reboot
might not reset the Super I/O and if the watchdog isn't enabled, we
won't touch the register containing the bit on the next boot.
In this case all subsequent regular reboots will be wrongly flagged
by the driver as being caused by the watchdog.

Fix this by having the flag cleared after read. This is also done by
other drivers like those for the i6300esb and mpc8xxx_wdt.

Fixes: b97cb21a46 ("watchdog: f71808e_wdt: Fix WDTMOUT_STS register read")
Cc: stable@vger.kernel.org
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20200611191750.28096-5-a.fatoum@pengutronix.de
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2020-08-05 18:42:53 +02:00
..
acquirewdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
advantechwdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
alim1535_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
alim7101_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
ar7_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
arm_smc_wdt.c watchdog: Add new arm_smc_wdt watchdog driver 2020-05-25 08:55:46 +02:00
armada_37xx_wdt.c watchdog: armada_37xx_wdt: Convert to use device managed functions and other improvements 2019-05-05 21:02:14 +02:00
asm9260_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 4 2019-05-21 11:28:40 +02:00
aspeed_wdt.c watchdog: aspeed: Fix clock behaviour for ast2600 2019-11-18 19:53:44 +01:00
at91rm9200_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
at91sam9_wdt.c watchdog: Convert to use devm_platform_ioremap_resource 2019-05-05 21:02:12 +02:00
at91sam9_wdt.h watchdog: sama5d4_wdt: addition of sam9x60 compatible watchdog 2020-01-27 15:55:44 +01:00
ath79_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
atlas7_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 191 2019-05-30 11:29:21 -07:00
bcm47xx_wdt.c watchdog: add SPDX identifiers for watchdog subsystem 2018-03-24 10:19:40 +01:00
bcm63xx_wdt.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
bcm2835_wdt.c watchdog: bcm2835_wdt: Fix module autoload 2019-07-08 16:08:32 +02:00
bcm7038_wdt.c watchdog: bcm7038_wdt: drop warning after registering device 2019-07-08 15:13:02 +02:00
bcm_kona_wdt.c watchdog: bcm_kona_wdt: Use correct return value for bcm_kona_wdt_probe() 2020-08-05 18:42:46 +02:00
bd70528_wdt.c watchdog: bd70528: Trivial function documentation fix 2019-11-18 19:53:41 +01:00
booke_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
cadence_wdt.c watchdog: cadence: Skip printing pointer value 2020-01-27 15:55:46 +01:00
coh901327_wdt.c watchdog: coh901327: make it explicitly non-modular 2019-05-05 21:10:33 +02:00
cpu5wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
cpwd.c watchdog: cpwd: fix build regression 2019-11-05 16:58:11 +01:00
da9052_wdt.c watchdog: da9052_wdt: drop warning after registering device 2019-07-08 15:13:04 +02:00
da9055_wdt.c watchdog: da9055_wdt: Use 'dev' instead of dereferencing it repeatedly 2019-05-05 21:02:16 +02:00
da9062_wdt.c watchdog: da9062: No need to ping manually before setting timeout 2020-05-25 08:55:44 +02:00
da9063_wdt.c watchdog: da9063: Make use of pre-configured timeout during probe 2020-05-25 08:55:43 +02:00
davinci_wdt.c watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
diag288_wdt.c watchdog: diag288_wdt: Remove leftover includes from conversion to watchdog API 2019-09-17 08:59:01 +02:00
digicolor_wdt.c watchdog: digicolor_wdt: Remove unused variable in dc_wdt_probe 2019-07-15 08:49:11 +02:00
dw_wdt.c watchdog: dw_wdt: Add DebugFS files 2020-08-05 18:42:50 +02:00
ebc-c384_wdt.c watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
ep93xx_wdt.c watchdog: ep93xx_wdt: Use 'dev' instead of dereferencing it repeatedly 2019-05-05 21:02:19 +02:00
eurotechwdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
f71808e_wdt.c watchdog: f71808e_wdt: clear watchdog timeout occurred flag 2020-08-05 18:42:53 +02:00
ftwdt010_wdt.c watchdog: ftwdt010_wdt: drop warning after registering device 2019-07-08 15:13:06 +02:00
gef_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
geodewdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
gpio_wdt.c watchdog: gpio: add support for nowayout option 2019-07-08 19:39:44 +02:00
hpwdt.c watchdog/hpwdt: Reflect changes 2019-07-08 16:10:10 +02:00
i6300esb.c watchdog: i6300esb: drop warning after registering device 2019-07-08 15:13:06 +02:00
ib700wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
ibmasr.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
ie6xx_wdt.c watchdog: ie6xx_wdt: Use spinlock_t instead of struct spinlock 2019-07-08 20:46:48 +02:00
imgpdc_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
imx2_wdt.c watchdog: imx2_wdt: update contact email 2020-05-25 08:55:45 +02:00
imx7ulp_wdt.c watchdog: imx7ulp: Remove unused include of init.h 2020-03-18 11:15:23 +01:00
imx_sc_wdt.c watchdog: imx_sc_wdt: Fix reboot on crash 2020-05-25 08:55:40 +02:00
indydog.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
intel_scu_watchdog.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
intel_scu_watchdog.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 278 2019-06-05 17:36:36 +02:00
intel-mid_wdt.c watchdog: intel-mid_wdt: Convert to use new SCU IPC API 2020-04-24 11:17:36 +01:00
iop_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
it87_wdt.c watchdog: it87_wdt: add IT8786 ID 2020-01-27 15:55:47 +01:00
it8712f_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
iTCO_vendor_support.c watchdog: iTCO_wdt: Export vendorsupport 2020-03-10 10:20:27 +01:00
iTCO_vendor.h watchdog: iTCO_wdt: Export vendorsupport 2020-03-10 10:20:27 +01:00
iTCO_wdt.c platform/x86: intel_pmc_ipc: Convert to MFD 2020-04-24 11:18:44 +01:00
ixp4xx_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
jz4740_wdt.c watchdog: jz4740: Use regmap provided by TCU driver 2019-11-18 20:14:46 +01:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
kempld_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 294 2019-06-05 17:36:38 +02:00
lantiq_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
loongson1_wdt.c watchdog: loongson1_wdt: drop warning after registering device 2019-07-08 15:13:08 +02:00
lpc18xx_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
m54xx_wdt.c watchdog: m54xx: Add missing include 2020-05-25 08:55:47 +02:00
machzwd.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
Makefile watchdog: Add new arm_smc_wdt watchdog driver 2020-05-25 08:55:46 +02:00
max63xx_wdt.c watchdog: max63xx_wdt: Convert to use device managed functions and other improvements 2019-05-05 21:02:22 +02:00
max77620_wdt.c watchdog: max77620_wdt: drop warning after registering device 2019-07-08 15:13:09 +02:00
mei_wdt.c watchdog: mei_wdt: no need to check return value of debugfs_create functions 2019-07-08 20:35:10 +02:00
mena21_wdt.c watchdog: mena21_wdt: drop warning after registering device 2019-07-08 15:13:09 +02:00
menf21bmc_wdt.c watchdog: menf21bmc_wdt: drop warning after registering device 2019-07-08 15:13:10 +02:00
menz69_wdt.c drivers: mcb: use symbol namespaces 2019-11-03 19:54:53 +01:00
meson_gxbb_wdt.c watchdog: meson: Fix the wrong value of left time 2019-11-05 16:58:12 +01:00
meson_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mixcomwd.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
mlx_wdt.c watchdog: mlx-wdt: support new watchdog type with longer timeout period 2020-08-05 18:42:45 +02:00
moxart_wdt.c watchdog: moxart_wdt: Convert to use device managed functions and other improvements 2019-05-05 21:02:24 +02:00
mpc8xxx_wdt.c watchdog: mpc8xxx_wdt: drop warning after registering device 2019-07-08 15:13:10 +02:00
mt7621_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mtk_wdt.c watchdog: mtk_wdt: mt2712: Add reset controller 2020-01-27 15:55:49 +01:00
mtx-1_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
mv64x60_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
ni903x_wdt.c watchdog: ni903x_wdt: drop warning after registering device 2019-07-08 15:13:10 +02:00
nic7018_wdt.c watchdog: nic7018_wdt: drop warning after registering device 2019-07-08 15:13:11 +02:00
npcm_wdt.c watchdog: npcm: remove whitespaces 2020-03-18 11:15:25 +01:00
nv_tco.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
nv_tco.h watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
octeon-wdt-main.c watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
octeon-wdt-nmi.S watchdog: octeon-wdt: Remove old boot vector code. 2017-09-04 21:19:03 +02:00
of_xilinx_wdt.c watchdog: of_xilinx_wdt: drop warning after registering device 2019-07-08 15:13:12 +02:00
omap_wdt.c watchdog: Fix runtime PM imbalance on error 2020-05-25 08:55:46 +02:00
omap_wdt.h watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
orion_wdt.c watchdog: orion: use 0 for unset heartbeat 2020-04-01 11:35:22 +02:00
pc87413_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
pcwd_pci.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
pcwd_usb.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
pcwd.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
pic32-dmt.c watchdog: pic32-dmt: drop warning after registering device 2019-07-08 15:13:12 +02:00
pic32-wdt.c watchdog: pic32-wdt: drop warning after registering device 2019-07-08 15:13:12 +02:00
pika_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
pm8916_wdt.c watchdog: pm8916_wdt: Add system sleep callbacks 2020-03-18 11:10:09 +01:00
pnx833x_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
pnx4008_wdt.c watchdog: pnx4008_wdt: allow compile-testing 2019-09-16 22:10:05 +02:00
pretimeout_noop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pretimeout_panic.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
qcom-wdt.c watchdog: qcom: Use irq flags from firmware 2020-03-18 11:15:22 +01:00
rave-sp-wdt.c watchdog: rave-sp-wdt: drop warning after registering device 2019-07-08 15:13:14 +02:00
rc32434_wdt.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
rdc321x_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
renesas_wdt.c watchdog: renesas_wdt: Add a few cycles delay 2019-07-08 19:39:44 +02:00
retu_wdt.c watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
riowd.c watchdog: riowd: remove unneeded semicolon 2020-05-25 08:55:46 +02:00
rn5t618_wdt.c watchdog: rn5t618_wdt: fix module aliases 2019-12-30 15:58:29 +01:00
rt2880_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtd119x_wdt.c watchdog: rtd119x: drop unused module.h include 2019-05-05 21:10:34 +02:00
rti_wdt.c watchdog: Add K3 RTI watchdog support 2020-04-01 11:35:23 +02:00
rza_wdt.c watchdog: rza_wdt: Use 'dev' instead of dereferencing it repeatedly 2019-05-05 21:02:27 +02:00
s3c2410_wdt.c watchdog: s3c2410_wdt: drop warning after registering device 2019-07-08 15:13:14 +02:00
sa1100_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
sama5d4_wdt.c watchdog: sama5d4_wdt: addition of sam9x60 compatible watchdog 2020-01-27 15:55:44 +01:00
sb_wdog.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
sbc60xxwdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
sbc7240_wdt.c linux-watchdog 5.5-rc1 tag 2019-12-01 18:01:03 -08:00
sbc8360.c watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
sbc_epx_c3.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
sbc_fitpc2_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
sbsa_gwdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 294 2019-06-05 17:36:38 +02:00
sc520_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
sc1200wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
sch311x_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
scx200_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
shwdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sirfsoc_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 4 2019-05-21 11:28:40 +02:00
smsc37b787_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
softdog.c watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
sp805_wdt.c watchdog: sp805: fix restart handler 2020-04-08 11:18:38 +02:00
sp5100_tco.c watchdog: sp5100_tco: drop warning after registering device 2019-07-08 15:13:15 +02:00
sp5100_tco.h watchdog: sp5100_tco: Add support for recent FCH versions 2018-01-21 12:56:37 +01:00
sprd_wdt.c watchdog: sprd: Fix the incorrect pointer getting from driver data 2019-11-18 19:53:45 +01:00
st_lpc_wdt.c watchdog: st_lpc_wdt: drop warning after registering device 2019-07-08 15:13:16 +02:00
stm32_iwdg.c drivers: watchdog: stm32_iwdg: set WDOG_HW_RUNNING at probe 2020-01-27 15:55:44 +01:00
stmp3xxx_rtc_wdt.c watchdog: stmp3xxx_rtc_wdt: drop warning after registering device 2019-07-08 15:13:17 +02:00
stpmic1_wdt.c watchdog: stpmic1_wdt: Use 'dev' instead of dereferencing it repeatedly 2019-05-05 21:02:29 +02:00
sun4v_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sunxi_wdt.c watchdog: sunxi_wdt: fix improper error exit code 2020-08-05 18:42:46 +02:00
tangox_wdt.c watchdog: tangox_wdt: Convert to use device managed functions and other improvements 2019-05-05 21:02:30 +02:00
tegra_wdt.c watchdog: tegra_wdt: drop warning after registering device 2019-07-08 15:13:17 +02:00
tqmx86_wdt.c watchdog: tqmx86_wdt: Use 'dev' instead of dereferencing it repeatedly 2019-05-05 21:02:31 +02:00
ts72xx_wdt.c watchdog: ts72xx_wdt: Use 'dev' instead of dereferencing it repeatedly 2019-05-05 21:02:32 +02:00
ts4800_wdt.c watchdog: ts4800_wdt: drop warning after registering device 2019-07-08 15:13:17 +02:00
twl4030_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
txx9wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
uniphier_wdt.c watchdog: uniphier_wdt: drop platform_set_drvdata 2019-05-05 21:02:32 +02:00
ux500_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 197 2019-05-30 11:29:22 -07:00
via_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
w83627hf_wdt.c watchdog: w83627hf_wdt: Fix support NCT6116D 2019-12-30 15:58:23 +01:00
w83877f_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
w83977f_wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
wafer5823wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
watchdog_core.c watchdog: Add stop_on_reboot parameter to control reboot policy 2020-03-18 11:15:24 +01:00
watchdog_core.h watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
watchdog_dev.c watchdog: Use kobj_to_dev() API 2020-08-05 18:42:46 +02:00
watchdog_pretimeout.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
watchdog_pretimeout.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
wd501p.h watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +02:00
wdat_wdt.c ACPI: watchdog: Set default timeout in probe 2020-02-13 23:51:30 +01:00
wdrtas.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
wdt285.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
wdt977.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
wdt_pci.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
wdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
wm831x_wdt.c watchdog: wm831x_wdt: Remove GPIO handling 2020-03-18 11:15:24 +01:00
wm8350_wdt.c watchdog: add SPDX identifiers for watchdog subsystem 2018-03-24 10:19:40 +01:00
xen_wdt.c watchdog: xen_wdt: drop warning after registering device 2019-07-08 15:13:18 +02:00
ziirave_wdt.c watchdog: ziirave_wdt: change name to be more specific 2020-04-01 11:35:22 +02:00
zx2967_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00