提交 b1183e06 编写于 作者: M Marc Zyngier 提交者: Wim Van Sebroeck

[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: NMarc Zyngier <maz@misterjones.org>
Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
上级 0fb06571
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册