linux/drivers/watchdog
Hidehiro Kawai abc514c580 hpwdt: use nmi_panic() when kernel panics in NMI handler
Commit 1717f2096b ("panic, x86: Fix re-entrance problem due to panic
on NMI") introduced nmi_panic() which prevents concurrent and recursive
execution of panic().  It also saves registers for the crash dump on x86
by later commit 58c5661f21 ("panic, x86: Allow CPUs to save registers
even if looping in NMI context").

hpwdt driver can call panic() from NMI handler, so replace it with
nmi_panic().  Also, do some cleanups.

Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Cc: Thomas Mingarelli <thomas.mingarelli@hpe.com>
Cc: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-03-22 15:36:02 -07:00
..
Kconfig Merge git://www.linux-watchdog.org/linux-watchdog 2016-03-19 19:35:51 -07:00
Makefile Merge git://www.linux-watchdog.org/linux-watchdog 2016-03-19 19:35:51 -07:00
acquirewdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
advantechwdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
alim1535_wdt.c watchdog: remove DEFINE_PCI_DEVICE_TABLE macro 2014-01-28 19:07:07 +01:00
alim7101_wdt.c watchdog: alim7101: register restart handler with kernel restart handler 2014-09-26 00:00:32 -07:00
ar7_wdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
asm9260_wdt.c watchdog: asm9260: remove __init and __exit annotations 2016-01-11 22:48:05 +01:00
at32ap700x_wdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
at91rm9200_wdt.c Merge git://www.linux-watchdog.org/linux-watchdog 2015-09-11 15:12:59 -07:00
at91sam9_wdt.c watchdog: at91sam9: get and use slow clock 2015-09-09 21:38:52 +02:00
at91sam9_wdt.h watchdog: add a driver to support SAMA5D4 watchdog timer 2015-09-09 21:38:29 +02:00
ath79_wdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
atlas7_wdt.c watchdog: atlas7_wdt: test clock rate to avoid division by 0 2016-03-16 21:09:08 +01:00
bcm47xx_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
bcm63xx_wdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
bcm2835_wdt.c watchdog: bcm2835_wdt: Drop log message if watchdog is stopped 2015-12-28 23:04:04 +01:00
bcm7038_wdt.c watchdog: Watchdog driver for Broadcom Set-Top Box 2015-10-27 16:12:02 +01:00
bcm_kona_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
bfin_wdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
booke_wdt.c watchdog: booke_wdt: Use infrastructure to check timeout limits 2015-09-09 21:34:34 +02:00
cadence_wdt.c watchdog: cadence_wdt: use to_platform_device() 2015-12-27 21:15:34 +01:00
coh901327_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
cpu5wdt.c watchdog: delete non-required instances of include <linux/init.h> 2014-03-31 13:22:45 +02:00
cpwd.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
da9052_wdt.c watchdog: da9052_wdt: Drop reference counting 2015-12-29 20:36:03 +01:00
da9055_wdt.c watchdog: da9055_wdt: Drop reference counting 2015-12-29 20:36:04 +01:00
da9062_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
da9063_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
davinci_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
diag288_wdt.c watchdog: diag288: Stop re-using watchdog core internal flags 2015-12-29 20:36:02 +01:00
digicolor_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
dw_wdt.c watchdog: dw_wdt: Convert to use watchdog infrastructure 2016-03-16 21:11:21 +01:00
ebc-c384_wdt.c watchdog: Add watchdog timer support for the WinSystems EBC-C384 2016-03-01 16:25:47 +01:00
ep93xx_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
eurotechwdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
f71808e_wdt.c watchdog: f71808e_wdt: Add support for Jetway JNF99 motherboard 2012-07-23 12:46:38 +02:00
gef_wdt.c watchdog: Fix module autoload for OF platform driver 2015-09-28 10:56:01 +02:00
geodewdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
gpio_wdt.c watchdog: gpio: Do not use device pointer from struct watchdog_device 2015-12-28 23:04:05 +01:00
hpwdt.c hpwdt: use nmi_panic() when kernel panics in NMI handler 2016-03-22 15:36:02 -07:00
i6300esb.c watchdog: delete non-required instances of include <linux/init.h> 2014-03-31 13:22:45 +02:00
iTCO_vendor.h
iTCO_vendor_support.c
iTCO_wdt.c watchdog: iTCO_wdt: Add support for TCO on Intel Sunrisepoint 2015-08-11 15:03:52 +01:00
ib700wdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
ibmasr.c watchdog: fix checkpatch warnings and error 2014-03-31 13:31:06 +02:00
ie6xx_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
imgpdc_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
imx2_wdt.c watchdog: imx2: Convert to use infrastructure triggered keepalives 2016-03-16 21:11:23 +01:00
indydog.c watchdog: indydog: Simplify indydog_{start,stop} 2014-03-31 13:26:31 +02:00
intel-mid_wdt.c watchdog: intel-mid: add Magic Closure flag 2015-10-28 22:58:32 +01:00
intel_scu_watchdog.c watchdog: intel_scu_watchdog: Remove unused variable 2014-03-31 13:26:56 +02:00
intel_scu_watchdog.h
iop_wdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
it87_wdt.c watchdog: it87_wdt: add IT8783 ID 2015-02-17 21:32:08 +01:00
it8712f_wdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
ixp4xx_wdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
jz4740_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
kempld_wdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
ks8695_wdt.c char: make misc_deregister a void function 2015-08-05 10:35:49 -07:00
lantiq_wdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
lpc18xx_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
m54xx_wdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
machzwd.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
max63xx_wdt.c watchdog: max63xx: make module's license marker match the header 2016-01-31 16:51:56 +01:00
mei_wdt.c watchdog: mei_wdt: re-register device on event 2016-02-07 13:00:52 -08:00
mena21_wdt.c watchdog: mena21: Do not use device pointer from struct watchdog_device 2015-12-28 23:04:06 +01:00
menf21bmc_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
meson_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
mixcomwd.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
moxart_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
mpc8xxx_wdt.c watchdog: mpc8xxx: use better error code when watchdog cannot be enabled 2015-09-09 21:37:51 +02:00
mt7621_wdt.c watchdog: add MT7621 watchdog support 2016-01-09 17:45:28 +01:00
mtk_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
mtx-1_wdt.c watchdog: delete non-required instances of include <linux/init.h> 2014-03-31 13:22:45 +02:00
mv64x60_wdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
ni903x_wdt.c watchdog: ni903x_wdt: Add NI 903x/913x watchdog driver 2016-03-01 16:25:39 +01:00
nuc900_wdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
nv_tco.c watchdog: (nv_tco) add support for MCP79 2015-09-09 21:34:24 +02:00
nv_tco.h
octeon-wdt-main.c watchdog: octeon: use fixed length string for register names 2015-04-22 15:28:40 +02:00
octeon-wdt-nmi.S
of_xilinx_wdt.c watchdog: xilinx: Remove .owner field for driver 2014-10-20 20:43:42 +02:00
omap_wdt.c watchdog: omap: don't disable the timer when it should be enabled early 2015-12-27 21:09:40 +01:00
omap_wdt.h watchdog: omap_wdt: implement get_timeleft 2015-06-22 15:54:35 +02:00
orion_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
pc87413_wdt.c watchdog: fix checkpatch warnings and error 2014-03-31 13:31:06 +02:00
pcwd.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
pcwd_pci.c watchdog: remove DEFINE_PCI_DEVICE_TABLE macro 2014-01-28 19:07:07 +01:00
pcwd_usb.c watchdog: pcwd_usb: fix compilation warning 2016-01-31 16:52:15 +01:00
pika_wdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
pnx833x_wdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
pnx4008_wdt.c watchdog: pnx4008: restart: support "cmd" from userspace 2016-03-16 21:09:42 +01:00
qcom-wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
rc32434_wdt.c watchdog: rc32434_wdt: fix ioctl error handling 2016-03-01 15:29:42 +01:00
rdc321x_wdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
retu_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
riowd.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
rn5t618_wdt.c watchdog: add driver for Ricoh RN5T618 watchdog 2014-10-20 20:55:02 +02:00
rt2880_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
s3c2410_wdt.c watchdog: s3c2410_wdt: Add max and min timeout values 2016-03-16 21:08:09 +01:00
sa1100_wdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
sama5d4_wdt.c watchdog: add a driver to support SAMA5D4 watchdog timer 2015-09-09 21:38:29 +02:00
sb_wdog.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
sbc60xxwdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
sbc7240_wdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
sbc8360.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
sbc_epx_c3.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
sbc_fitpc2_wdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
sbsa_gwdt.c Watchdog: introduce ARM SBSA watchdog driver 2016-03-16 21:07:31 +01:00
sc520_wdt.c watchdog: sc520_wdt: Remove unused variable 2014-03-31 13:27:34 +02:00
sc1200wdt.c sc1200_wdt: Fix oops 2013-12-10 08:48:15 +01:00
sch311x_wdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
scx200_wdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
shwdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
sirfsoc_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
smsc37b787_wdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
softdog.c watchdog: refuse to unload softdog module when its timer is running 2015-12-27 21:02:21 +01:00
sp805_wdt.c watchdog: sp805: ping fails to abort wdt reset 2016-01-31 16:52:08 +01:00
sp5100_tco.c sp5100_tco: fix the device check for SB800 and later chipsets 2015-12-27 20:42:55 +01:00
sp5100_tco.h watchdog: sp5100_tco: Set the AcpiMmioSel bitmask value to 1 instead of 2 2013-03-22 23:21:55 +01:00
st_lpc_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
stmp3xxx_rtc_wdt.c watchdog: stmp3xxx: Remove unused variables 2016-01-11 21:51:28 +01:00
sun4v_wdt.c Add sun4v_wdt watchdog driver 2016-01-31 11:06:24 -08:00
sunxi_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
tangox_wdt.c watchdog: tangox_wdt: test clock rate to avoid division by 0 2016-03-16 21:09:16 +01:00
tegra_wdt.c watchdog: tegra: Stop watchdog first if restarting 2015-11-23 08:59:45 +01:00
ts72xx_wdt.c char: make misc_deregister a void function 2015-08-05 10:35:49 -07:00
ts4800_wdt.c watchdog: ts4800: add driver for TS-4800 watchdog 2015-12-28 22:29:35 +01:00
twl4030_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
txx9wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
ux500_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
via_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
w83627hf_wdt.c watchdog: w83627hf: Added NCT6102D support. 2016-03-01 14:22:05 +01:00
w83877f_wdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
w83977f_wdt.c watchdog: w83977f_wdt: underflow in wdt_set_timeout() 2015-11-23 08:59:30 +01:00
wafer5823wdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
watchdog_core.c watchdog: Make stop function optional 2016-03-16 21:11:16 +01:00
watchdog_core.h watchdog: Create watchdog device in watchdog_dev.c 2015-12-29 20:36:01 +01:00
watchdog_dev.c watchdog: Ensure that wdd is not dereferenced if NULL 2016-03-16 21:11:50 +01:00
wd501p.h
wdrtas.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
wdt.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
wdt285.c watchdog: wdt285: Fix variable type 2014-03-31 13:28:20 +02:00
wdt977.c watchdog: Get rid of MODULE_ALIAS_MISCDEV statements 2013-11-17 19:38:13 +01:00
wdt_pci.c watchdog: delete non-required instances of include <linux/init.h> 2014-03-31 13:22:45 +02:00
wm831x_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
wm8350_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
xen_wdt.c watchdog: drop owner assignment from platform_drivers 2014-10-20 16:21:56 +02:00
ziirave_wdt.c watchdog: ziirave_wdt: Rename "trigger" reset reason "hw watchdog" 2016-03-01 15:30:16 +01:00