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 > ---- > > --- 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 at switchboard.ericsson.se ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/