summaryrefslogtreecommitdiff
path: root/drivers/watchdog
diff options
context:
space:
mode:
authorGuenter Roeck <guenter.roeck@ericsson.com>2010-04-19 19:37:11 +0400
committerWim Van Sebroeck <wim@iguana.be>2010-04-26 22:14:03 +0400
commit86913315de5ed13debd1566dfea15c4179b1f0c0 (patch)
tree4001fdd34f196f7ab7544ebab429b7401a4ca9ab /drivers/watchdog
parentb91ce4d14a21fc04d165be30319541e0f9204f15 (diff)
downloadlinux-86913315de5ed13debd1566dfea15c4179b1f0c0.tar.xz
Watchdog: sb_wdog.c: Fix sibyte watchdog initialization
Watchdog configuration register and timer count register were interchanged, causing wrong values to be written into both registers. This caused watchdog triggered resets even if the watchdog was reset in time. Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> Acked-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers/watchdog')
-rw-r--r--drivers/watchdog/sb_wdog.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/watchdog/sb_wdog.c b/drivers/watchdog/sb_wdog.c
index c8eadd478175..88c83aa57303 100644
--- a/drivers/watchdog/sb_wdog.c
+++ b/drivers/watchdog/sb_wdog.c
@@ -67,8 +67,8 @@ static DEFINE_SPINLOCK(sbwd_lock);
void sbwdog_set(char __iomem *wdog, unsigned long t)
{
spin_lock(&sbwd_lock);
- __raw_writeb(0, wdog - 0x10);
- __raw_writeq(t & 0x7fffffUL, wdog);
+ __raw_writeb(0, wdog);
+ __raw_writeq(t & 0x7fffffUL, wdog - 0x10);
spin_unlock(&sbwd_lock);
}