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 <[email protected]>
---
Resend:
Widening the audience.
Please let me know if there are any problems with this patch.
drivers/watchdog/sb_wdog.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/watchdog/sb_wdog.c b/drivers/watchdog/sb_wdog.c
index 9748eed..1407cfa 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);
}
--
1.7.0.87.g0901d
On Mon, Apr 19, 2010 at 08:37:11AM -0700, Guenter Roeck wrote:
> 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 <[email protected]>
> ---
> Resend:
> Widening the audience.
> Please let me know if there are any problems with this patch.
For the new audience, this patch has been previously posted to linux-mips
a few days ago and assuming there are no objections I'd like to merge it
upstream for 2.6.34, so an Ack would by nice.
Ralf
Hi Guenter,
> 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 <[email protected]>
Signed-off-by: Wim Van Sebroeck <[email protected]>
Just let me know when this can be added as a fix in the watchdog tree.
Kind regards,
Wim.
On Mon, 2010-04-19 at 15:19 -0400, Wim Van Sebroeck wrote:
> Hi Guenter,
>
> > 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 <[email protected]>
>
> Signed-off-by: Wim Van Sebroeck <[email protected]>
>
> Just let me know when this can be added as a fix in the watchdog tree.
>
The earlier the better from my perspective.
Ralf may have had the mips tree in mind - might make sense to
synchronize with him.
Thanks,
Guenter