Hi,
I noticed that the 405 watchdog driver's ioctl() for GETPERIOD and SETPERIOD
are not working correctly. The ioctls pass the watchdog timer period in microseconds.
The variable wdt_period stores the current period in seconds.
The attached patch fixes this behavior.
Matthias
Dose the watchdog actually work ??
What happens when you get into a infinite loop when interrupts are
turned off?
On Wed, 2003-06-04 at 09:10, Matthias Fuchs wrote:
Hi,
I noticed that the 405 watchdog driver's ioctl() for GETPERIOD and SETPERIOD
are not working correctly. The ioctls pass the watchdog timer period in microseconds.
The variable wdt_period stores the current period in seconds.
The attached patch fixes this behavior.
Matthias
----
quoted hunk
--- drivers/char/ppc405_wdt.c Wed Jun 4 08:58:42 2003
+++ /usr/src/linuxppc_2_4_devel/drivers/char/ppc405_wdt.c Tue Dec 24 06:00:15 2002
@@ -190,8 +190,7 @@
}
case WDIOC_GETPERIOD:
/* return watchdog period (units = microseconds) */
- period = wdt_period * MICROSECBASE;
-
+ period = (wdt_period / HZ) * MICROSECBASE;
if (copy_to_user((unsigned long *)arg, &period,
sizeof(period))) {
return -EFAULT;@@ -234,7 +233,8 @@
if (period == 0)
period = MAXONEHOUR * MICROSECBASE;
- wdt_period = period / MICROSECBASE;
+ heartbeat_count(0) = (period / TENMSBASE) +
+ (period % TENMSBASE ? 1 : 0);
ppc405wd_update_timer();
break;
--
Kenneth Johansson
Ericsson AB Tel: +46 8 719 70 20
Tellusborgsvägen 90 Fax: +46 8 719 29 45
126 25 Stockholm ken@switchboard.ericsson.se
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Hi Kenneth,
it seems that the 405 watchdog does not really work. It's something like a soft-watchdog
actually. I did not test it in a loop with irqs off.
At least my patch corrected the ioctls and I get a working software watchdog.
I wonder what happened to the 405 hardware watchdog support.
Matthias
Kenneth Johansson wrote:
Dose the watchdog actually work ??
What happens when you get into a infinite loop when interrupts are
turned off?
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/