linux/drivers/watchdog
Alexander Usyskin 97d079fd2a watchdog: mei_wdt: request stop on unregister
commit 740c0a57b8f1e36301218bf549f3c9cc833a60be upstream.

The MEI bus has a special behavior on suspend it destroys
all the attached devices, this is due to the fact that also
firmware context is not persistent across power flows.

If watchdog on MEI bus is ticking before suspending the firmware
times out and reports that the OS is missing watchdog tick.
Send the stop command to the firmware on watchdog unregistered
to eliminate the false event on suspend.
This does not make the things worse from the user-space perspective
as a user-space should re-open watchdog device after
suspending before this patch.

Cc: <stable@vger.kernel.org>
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20210124114938.373885-1-tomas.winkler@intel.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-04 10:26:47 +01:00
..
acquirewdt.c
advantechwdt.c
alim1535_wdt.c
alim7101_wdt.c
ar7_wdt.c
armada_37xx_wdt.c
asm9260_wdt.c
aspeed_wdt.c
at91rm9200_wdt.c
at91sam9_wdt.c
at91sam9_wdt.h
ath79_wdt.c
atlas7_wdt.c
bcm47xx_wdt.c
bcm63xx_wdt.c
bcm2835_wdt.c
bcm7038_wdt.c
bcm_kona_wdt.c
bd70528_wdt.c
booke_wdt.c
cadence_wdt.c
coh901327_wdt.c
cpu5wdt.c
cpwd.c
da9052_wdt.c
da9055_wdt.c
da9062_wdt.c
da9063_wdt.c
davinci_wdt.c
diag288_wdt.c
digicolor_wdt.c
dw_wdt.c
ebc-c384_wdt.c
ep93xx_wdt.c
eurotechwdt.c
f71808e_wdt.c
ftwdt010_wdt.c
gef_wdt.c
geodewdt.c
gpio_wdt.c
hpwdt.c
i6300esb.c
ib700wdt.c
ibmasr.c
ie6xx_wdt.c
imgpdc_wdt.c
imx2_wdt.c
imx7ulp_wdt.c
imx_sc_wdt.c
indydog.c
intel_scu_watchdog.c
intel_scu_watchdog.h
intel-mid_wdt.c
iop_wdt.c
it87_wdt.c
it8712f_wdt.c
iTCO_vendor_support.c
iTCO_vendor.h
iTCO_wdt.c
ixp4xx_wdt.c
jz4740_wdt.c
Kconfig watchdog: coh901327: add COMMON_CLK dependency 2020-12-30 11:51:28 +01:00
kempld_wdt.c
lantiq_wdt.c
loongson1_wdt.c
lpc18xx_wdt.c
m54xx_wdt.c
machzwd.c
Makefile
max63xx_wdt.c
max77620_wdt.c
mei_wdt.c watchdog: mei_wdt: request stop on unregister 2021-03-04 10:26:47 +01:00
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
mt7621_wdt.c
mtk_wdt.c
mtx-1_wdt.c
mv64x60_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
pnx833x_wdt.c
pnx4008_wdt.c
pretimeout_noop.c
pretimeout_panic.c
qcom-wdt.c watchdog: qcom: Remove incorrect usage of QCOM_WDT_ENABLE_IRQ 2021-03-04 10:26:47 +01:00
rave-sp-wdt.c
rc32434_wdt.c
rdc321x_wdt.c drivers: watchdog: rdc321x_wdt: Fix race condition bugs 2020-11-05 11:43:20 +01:00
renesas_wdt.c
retu_wdt.c
riowd.c
rn5t618_wdt.c
rt2880_wdt.c
rtd119x_wdt.c
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
sc520_wdt.c
sc1200wdt.c
sch311x_wdt.c
scx200_wdt.c
shwdt.c
sirfsoc_wdt.c
smsc37b787_wdt.c
softdog.c
sp805_wdt.c
sp5100_tco.c
sp5100_tco.h watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3 2020-10-29 09:57:55 +01:00
sprd_wdt.c watchdog: sprd: check busy bit before new loading rather than after that 2020-12-30 11:51:25 +01:00
st_lpc_wdt.c
stm32_iwdg.c
stmp3xxx_rtc_wdt.c
stpmic1_wdt.c
sun4v_wdt.c
sunxi_wdt.c
tangox_wdt.c
tegra_wdt.c
tqmx86_wdt.c
ts72xx_wdt.c
ts4800_wdt.c
twl4030_wdt.c
txx9wdt.c
uniphier_wdt.c
ux500_wdt.c
via_wdt.c
w83627hf_wdt.c
w83877f_wdt.c
w83977f_wdt.c
wafer5823wdt.c
watchdog_core.c watchdog: Fix potential dereferencing of null pointer 2020-12-30 11:51:25 +01:00
watchdog_core.h
watchdog_dev.c
watchdog_pretimeout.c
watchdog_pretimeout.h
wd501p.h
wdat_wdt.c
wdrtas.c
wdt285.c
wdt977.c
wdt_pci.c
wdt.c
wm831x_wdt.c
wm8350_wdt.c
xen_wdt.c
ziirave_wdt.c
zx2967_wdt.c