linux-stable/drivers/watchdog
Nick Bowler da3e515024 watchdog: sp805: Don't write 0 to the load value register.
At least on the Versatile Express' V2M, calling wdt_disable followed by
wdt_enable, for instance by running the following sequence:

  echo V > /dev/watchdog; echo V > /dev/watchdog

results in an immediate reset.  The wdt_disable function writes 0 to the
load register; while the watchdog interrupts are disabled at this point,
this special value is defined to trigger an interrupt immediately.  It
appears that in this instance, the reset happens when the interrupts
are subsequently enabled by wdt_enable.

Putting in a short delay after writing a new load value in wdt_enable
solves the issue, but it seems cleaner to simply never write 0 to the
load register at all: according to the hardware docs, writing 0 to the
control register suffices to stop the counter, and the write of 0 to
the load register is questionable anyway since this register resets to
0xffffffff.

Signed-off-by: Nick Bowler <nbowler@elliptictech.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2011-07-26 21:19:43 +00:00
..
acquirewdt.c Fix common misspellings 2011-03-31 11:26:23 -03:00
advantechwdt.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
adx_wdt.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
alim1535_wdt.c watchdog: cleanup spaces before tabs 2011-03-15 16:02:27 +00:00
alim7101_wdt.c watchdog: convert to DEFINE_PCI_DEVICE_TABLE 2011-03-15 16:02:22 +00:00
ar7_wdt.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
at32ap700x_wdt.c watchdog: update author email for at32ap700x_wdt 2011-06-28 20:01:25 +00:00
at91rm9200_wdt.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
at91sam9_wdt.c
ath79_wdt.c watchdog: add driver for the Atheros AR71XX/AR724X/AR913X SoCs 2011-01-12 13:51:29 +00:00
bcm47xx_wdt.c watchdog: cleanup spaces before tabs 2011-03-15 16:02:27 +00:00
bcm63xx_wdt.c treewide: Fix iomap resource size miscalculations 2011-04-10 17:01:04 +02:00
bfin_wdt.c watchdog: cleanup spaces before tabs 2011-03-15 16:02:27 +00:00
booke_wdt.c watchdog: booke_wdt: clean up status messages 2011-03-15 16:02:39 +00:00
coh901327_wdt.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
cpu5wdt.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
cpwd.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog 2011-03-17 17:09:29 -07:00
davinci_wdt.c watchdog: Convert release_resource to release_region/release_mem_region 2011-03-29 11:05:48 +00:00
dw_wdt.c watchdog: add support for the Synopsys DesignWare WDT 2011-07-22 08:57:38 +00:00
ep93xx_wdt.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
eurotechwdt.c watchdog: cleanup spaces before tabs 2011-03-15 16:02:27 +00:00
f71808e_wdt.c watchdog: f71808e_wdt: Add Fintek F71869 watchdog 2011-01-12 10:23:04 +00:00
gef_wdt.c watchdog: gef_wdt: fix MODULE_ALIAS 2011-06-28 07:43:00 +00:00
geodewdt.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
hpwdt.c watchdog: convert to DEFINE_PCI_DEVICE_TABLE 2011-03-15 16:02:22 +00:00
i6300esb.c watchdog: convert to DEFINE_PCI_DEVICE_TABLE 2011-03-15 16:02:22 +00:00
ib700wdt.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
ibmasr.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
imx2_wdt.c watchdog: imx2_wdt: add device tree probe support 2011-07-26 21:19:16 +00:00
indydog.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
intel_scu_watchdog.c watchdog: Intel SCU Watchdog: Fix build and remove duplicate code 2011-06-28 07:42:50 +00:00
intel_scu_watchdog.h watchdog: Intel SCU Watchdog Timer Driver for Moorestown and Medfield platforms. 2011-03-15 16:02:06 +00:00
iop_wdt.c
it87_wdt.c watchdog: Use "request_muxed_region" in it87 watchdog drivers 2011-07-22 08:55:23 +00:00
it8712f_wdt.c watchdog: Use "request_muxed_region" in it87 watchdog drivers 2011-07-22 08:55:23 +00:00
iTCO_vendor.h
iTCO_vendor_support.c iTCO_wdt: fix TCO V1 timeout values and limits 2010-05-25 09:05:56 +00:00
iTCO_wdt.c watchdog: iTCO_wdt: clean-up PCI device ID's 2011-07-22 08:56:11 +00:00
ixp4xx_wdt.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
ixp2000_wdt.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
jz4740_wdt.c watchdog: jz4740_wdt - fix magic character checking 2011-03-15 16:01:57 +00:00
Kconfig watchdog: i.MX: use IMX_HAVE_PLATFORM_IMX2_WDT to depend on 2011-07-22 08:58:38 +00:00
ks8695_wdt.c watchdog: ks8695_wdt: include mach/hardware.h instead of mach/timex.h. 2011-01-12 10:24:52 +00:00
lantiq_wdt.c MIPS: Lantiq: Add watchdog support 2011-05-19 09:55:43 +01:00
m54xx_wdt.c m68knommu: Rename m548x_wdt.c to m54xx_wdt.c 2011-02-08 15:07:45 +10:00
machzwd.c watchdog: cleanup spaces before tabs 2011-03-15 16:02:27 +00:00
Makefile watchdog: add support for the Synopsys DesignWare WDT 2011-07-22 08:57:38 +00:00
max63xx_wdt.c watchdog: Convert release_resource to release_region/release_mem_region 2011-03-29 11:05:48 +00:00
mixcomwd.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
mpc8xxx_wdt.c drivercore: revert addition of of_match to struct device 2011-05-18 12:32:23 -06:00
mpcore_wdt.c watchdog: mpcore_wdt: Add suspend/resume support. 2011-07-22 09:00:20 +00:00
mtx-1_wdt.c watchdog: mtx1-wdt: use dev_{err,info} instead of printk() 2011-07-22 08:59:43 +00:00
mv64x60_wdt.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
nuc900_wdt.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
nv_tco.c watchdog: fix nv_tco section mismatch 2011-03-29 11:06:04 +00:00
nv_tco.h watchdog: Add TCO support for nVidia chipsets 2011-01-12 13:51:23 +00:00
octeon-wdt-main.c WATCHDOG: octeon-wdt: Use I/O clock rate for timing calculations. 2010-10-29 19:08:42 +01:00
octeon-wdt-nmi.S WATCHDOG: Add watchdog driver for OCTEON SOCs 2010-08-05 13:26:22 +01:00
omap_wdt.c Watchdog: omap_wdt: add fine grain runtime-pm 2011-03-10 22:40:05 -07:00
omap_wdt.h watchdog: cleanup spaces before tabs 2011-03-15 16:02:27 +00:00
orion_wdt.c
pc87413_wdt.c watchdog: pc87413_wdt: Cleanup pc87413 watchdog driver to use 2011-07-22 08:56:41 +00:00
pcwd.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
pcwd_pci.c watchdog: convert to DEFINE_PCI_DEVICE_TABLE 2011-03-15 16:02:22 +00:00
pcwd_usb.c USB: rename usb_buffer_alloc() and usb_buffer_free() users 2010-05-20 13:21:38 -07:00
pika_wdt.c [WATCHDOG] powerpc: pika_wdt ident cannot be const 2010-04-03 22:22:20 +00:00
pnx833x_wdt.c watchdog: fix several MODULE_PARM_DESC strings 2010-05-25 09:03:52 +00:00
pnx4008_wdt.c watchdog: Convert release_resource to release_region/release_mem_region 2011-03-29 11:05:48 +00:00
rc32434_wdt.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
rdc321x_wdt.c mfd: Use mfd cell platform_data for rdc321x cells platform bits 2011-05-26 19:45:06 +02:00
riowd.c dt: Eliminate of_platform_{,un}register_driver 2011-02-28 13:22:46 -07:00
s3c2410_wdt.c watchdog: s3c2410: Add support for device tree based probe 2011-07-22 09:00:43 +00:00
sa1100_wdt.c
sb_wdog.c watchdog: sb_wdog: release irq and reboot notifier in error path and module_exit() 2010-09-15 18:43:47 +00:00
sbc60xxwdt.c
sbc7240_wdt.c Fix common misspellings 2011-03-31 11:26:23 -03:00
sbc8360.c watchdog: cleanup spaces before tabs 2011-03-15 16:02:27 +00:00
sbc_epx_c3.c Remove one to many n's in a word 2011-03-01 15:47:58 +01:00
sbc_fitpc2_wdt.c watchdog: cleanup spaces before tabs 2011-03-15 16:02:27 +00:00
sc520_wdt.c
sc1200wdt.c
sch311x_wdt.c Fix common misspellings 2011-03-31 11:26:23 -03:00
scx200_wdt.c
shwdt.c Fix common misspellings 2011-03-31 11:26:23 -03:00
smsc37b787_wdt.c Fix common misspellings 2011-03-31 11:26:23 -03:00
softdog.c watchdog: softdog.c: enhancement to optionally invoke panic instead of reboot on timer expiry 2011-03-29 11:56:22 +00:00
sp805_wdt.c watchdog: sp805: Don't write 0 to the load value register. 2011-07-26 21:19:43 +00:00
sp5100_tco.c watchdog: sp5100_tco.c: Check if firmware has set correct value in tcobase. 2011-03-29 11:05:57 +00:00
sp5100_tco.h watchdog: Add support for sp5100 chipset TCO 2011-01-12 13:51:16 +00:00
stmp3xxx_wdt.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
ts72xx_wdt.c watchdog: cleanup spaces before tabs 2011-03-15 16:02:27 +00:00
twl4030_wdt.c watchdog: twl4030_wdt: Disable watchdog during probing 2010-05-25 09:05:46 +00:00
txx9wdt.c [WATCHDOG] change reboot_notifier to platform-shutdown method. 2010-03-07 10:30:59 +00:00
w83627hf_wdt.c watchdog: Fix reboot on W83627ehf chipset. 2011-01-12 10:23:52 +00:00
w83697hf_wdt.c
w83697ug_wdt.c watchdog: cleanup spaces before tabs 2011-03-15 16:02:27 +00:00
w83877f_wdt.c
w83977f_wdt.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
wafer5823wdt.c
wd501p.h
wdrtas.c [WATCHDOG] watchdog_info constify 2010-03-07 10:30:57 +00:00
wdt.c watchdog: cleanup spaces before tabs 2011-03-15 16:02:27 +00:00
wdt285.c
wdt977.c watchdog: cleanup spaces before tabs 2011-03-15 16:02:27 +00:00
wdt_pci.c watchdog: cleanup spaces before tabs 2011-03-15 16:02:27 +00:00
wm831x_wdt.c watchdog: Handle multiple wm831x watchdogs being registered 2011-06-28 07:42:16 +00:00
wm8350_wdt.c [PATCH 2/11] drivers/watchdog: Eliminate a NULL pointer dereference 2010-06-07 15:55:03 +00:00
xen_wdt.c watchdog: Xen watchdog driver 2011-03-15 16:02:18 +00:00