2010-04-19 15:43:46

by Guenter Roeck

[permalink] [raw]
Subject: [PATCH/RESEND] MIPS: 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 <[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


2010-04-19 16:02:54

by Ralf Baechle

[permalink] [raw]
Subject: Re: [PATCH/RESEND] MIPS: Fix sibyte watchdog initialization

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

2010-04-19 19:20:00

by Wim Van Sebroeck

[permalink] [raw]
Subject: Re: [PATCH/RESEND] MIPS: Fix sibyte watchdog initialization

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.

2010-04-19 19:49:20

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH/RESEND] MIPS: Fix sibyte watchdog initialization

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