kernel_optimize_test/drivers/watchdog
Alexander Usyskin 306b9513d3 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 11:38:36 +01:00
..
acquirewdt.c compat_ioctl: move WDIOC handling into wdt drivers 2019-10-23 17:23:46 +02:00
advantechwdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
alim1535_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
alim7101_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
ar7_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +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 watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
atlas7_wdt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 191 2019-05-30 11:29:21 -07: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
bcm47xx_wdt.c
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
bd70528_wdt.c watchdog: bd70528: Trivial function documentation fix 2019-11-18 19:53:41 +01:00
booke_wdt.c watchdog: booke_wdt: Add common nowayout parameter driver 2020-08-05 18:42:54 +02:00
cadence_wdt.c watchdog: cadence: Simplify with dev_err_probe() 2020-10-14 15:02:24 +02: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: davinci: Simplify with dev_err_probe() 2020-10-14 15:02:25 +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: Replace HTTP links with HTTPS ones 2020-08-05 18:43:01 +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 watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
f71808e_wdt.c watchdog: Use fallthrough pseudo-keyword 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 watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
geodewdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +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 watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +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
imx_sc_wdt.c watchdog: imx_sc_wdt: Fix reboot on crash 2020-05-25 08:55:40 +02:00
imx2_wdt.c watchdog: imx2_wdt: update contact email 2020-05-25 08:55:45 +02:00
imx7ulp_wdt.c watchdog: imx7ulp: Watchdog should continue running for wait/stop mode 2020-10-14 15:02:26 +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: Postpone IRQ handler registration till SCU is ready 2021-03-04 11:38:00 +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 IT8784 ID 2020-10-14 15:22:58 +02:00
it8712f_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +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 watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
jz4740_wdt.c watchdog: jz4740: Use regmap provided by TCU driver 2019-11-18 20:14:46 +01:00
Kconfig watchdog: coh901327: add COMMON_CLK dependency 2020-12-30 11:53:58 +01: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: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
machzwd.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
Makefile linux-watchdog 5.10-rc1 tag 2020-10-21 11:28:43 -07: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: request stop on unregister 2021-03-04 11:38:36 +01: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 watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +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 watchdog: Replace HTTP links with HTTPS ones 2020-08-05 18:43:01 +02:00
nv_tco.h watchdog: Replace HTTP links with HTTPS ones 2020-08-05 18:43:01 +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
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 watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
pcwd_pci.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
pcwd_usb.c watchdog: pcwd_usb: Avoid GFP_ATOMIC where it is not needed 2020-10-14 15:02:22 +02:00
pcwd.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +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: Remove incorrect usage of QCOM_WDT_ENABLE_IRQ 2021-03-04 11:38:36 +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 watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
rdc321x_wdt.c drivers: watchdog: rdc321x_wdt: Fix race condition bugs 2020-10-14 15:02:21 +02:00
renesas_wdt.c watchdog: renesas_wdt: support handover from bootloader 2020-10-14 15:22:56 +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: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +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: rti-wdt: fix reference leak in rti_wdt_probe 2021-01-06 14:56:54 +01: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 watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
sama5d4_wdt.c watchdog: sama5d4_wdt: addition of sam9x60 compatible watchdog 2020-01-27 15:55:44 +01:00
sb_wdog.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +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 watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
sbc60xxwdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
sbc7240_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
sbc8360.c watchdog: convert remaining drivers to use SPDX license identifier 2019-07-08 20:35:11 +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 watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
sc1200wdt.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sch311x_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
scx200_wdt.c watchdog: scx200_wdt: Use fallthrough pseudo-keyword 2020-08-05 18:42:54 +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
sl28cpld_wdt.c watchdog: add support for sl28cpld watchdog 2020-09-17 15:59:00 +01:00
smsc37b787_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
softdog.c watchdog: softdog: Add options 'soft_reboot_cmd' and 'soft_active_on_boot' 2020-08-05 18:43:02 +02:00
sp805_wdt.c watchdog: sp805: fix restart handler 2020-04-08 11:18:38 +02:00
sp5100_tco.c watchdog: sp5100_tco: Enable watchdog on Family 17h devices if disabled 2020-10-14 15:22:57 +02:00
sp5100_tco.h watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3 2020-10-14 15:22:57 +02:00
sprd_wdt.c watchdog: sprd: check busy bit before new loading rather than after that 2020-12-30 11:53:52 +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
visconti_wdt.c watchdog: Add Toshiba Visconti watchdog driver 2020-10-14 15:22:58 +02:00
w83627hf_wdt.c watchdog: w83627hf_wdt: Fix support NCT6116D 2019-12-30 15:58:23 +01:00
w83877f_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
w83977f_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
wafer5823wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
watchdog_core.c watchdog: Fix potential dereferencing of null pointer 2020-12-30 11:53:52 +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: remove unneeded inclusion of <uapi/linux/sched/types.h> 2020-10-14 15:02:24 +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
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 treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
wdt_pci.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
wdt285.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
wdt977.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
wm831x_wdt.c watchdog: wm831x_wdt: Remove GPIO handling 2020-03-18 11:15:24 +01:00
wm8350_wdt.c
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