public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] watchdog/max63xx: be careful when disabling the watchdog
@ 2010-04-15 14:09 Marc Zyngier
  2010-04-15 18:25 ` Wim Van Sebroeck
  0 siblings, 1 reply; 2+ messages in thread
From: Marc Zyngier @ 2010-04-15 14:09 UTC (permalink / raw)
  To: wim, LKML

[-- Attachment #1: Type: text/plain, Size: 200 bytes --]

Wim,

The attached patch fixes a nasty error with the max63xx driver,
potentially leaving the platform dead (and watchdog disabled...).

Cheers,

        M.
-- 
Who you jivin' with that Cosmik Debris?

[-- Attachment #2: watchdog-max63xx-be-careful-when-disabling-the-watch.patch --]
[-- Type: text/plain, Size: 1150 bytes --]

From 4212d84a08845a6adf3f67367a24d9dbf076f9d6 Mon Sep 17 00:00:00 2001
From: Marc Zyngier <maz@misterjones.org>
Date: Fri, 9 Apr 2010 17:43:33 +0100
Subject: [PATCH] watchdog/max63xx: be careful when disabling the watchdog

When shutting down the watchdog timer, special care must be taken
not to overwrite other bits in the register, as it may be shared
with other peripherals.

For example, on the Arcom Vulcan, the register is shared between
the watchdog and the PCI reset line...

Signed-off-by: Marc Zyngier <maz@misterjones.org>
---
 drivers/watchdog/max63xx_wdt.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/drivers/watchdog/max63xx_wdt.c b/drivers/watchdog/max63xx_wdt.c
index 75f3a83..3053ff0 100644
--- a/drivers/watchdog/max63xx_wdt.c
+++ b/drivers/watchdog/max63xx_wdt.c
@@ -154,9 +154,14 @@ static void max63xx_wdt_enable(struct max63xx_timeout *entry)
 
 static void max63xx_wdt_disable(void)
 {
+	u8 val;
+
 	spin_lock(&io_lock);
 
-	__raw_writeb(3, wdt_base);
+	val = __raw_readb(wdt_base);
+	val &= ~MAX6369_WDSET;
+	val |= 3;
+	__raw_writeb(val, wdt_base);
 
 	spin_unlock(&io_lock);
 
-- 
1.7.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] watchdog/max63xx: be careful when disabling the watchdog
  2010-04-15 14:09 [PATCH] watchdog/max63xx: be careful when disabling the watchdog Marc Zyngier
@ 2010-04-15 18:25 ` Wim Van Sebroeck
  0 siblings, 0 replies; 2+ messages in thread
From: Wim Van Sebroeck @ 2010-04-15 18:25 UTC (permalink / raw)
  To: Marc Zyngier; +Cc: LKML

Hi Marc,

> The attached patch fixes a nasty error with the max63xx driver,
> potentially leaving the platform dead (and watchdog disabled...).

Will add that fix also.

Kind regards,
Wim.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-04-15 18:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-15 14:09 [PATCH] watchdog/max63xx: be careful when disabling the watchdog Marc Zyngier
2010-04-15 18:25 ` Wim Van Sebroeck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox