Messages in this thread | | | Date | Tue, 1 Apr 2008 11:27:04 -0400 | From | "Andrew Paprocki" <> | Subject | Re: [PATCH][WATCHDOG] v2.6.25-rc7: it8712f_wdt.c contains an error - was Re: [WATCHDOG] v2.5.25-rc patches |
| |
Oliver,
Sorry, the previous e-mail slipped by me. I'll try this out later and update.
Thanks, -Andrew
On Tue, Apr 1, 2008 at 11:06 AM, Oliver Schuster <oliver.s@inbox.com> wrote: > Hi, > > i've mailed before to lkml and Andrew Paprocki (2008-03-12) directly. > But the original patch wasn't changed. Here's a patch to correct the > error. > > Description of the error: > By introducing the support of 16 Bit timer values for later it8712 an > error was made. The value is stored through superio_outw() which cause, > that the upper Byte is in the Register called "Watch Dog Timer Time-Out > Value (LSB) Register" and the lower in "Watch Dog Timer Time-Out Value > (MSB) Register". > > A common value is 60: stored this way the watchdog timer runs out > in 4h 16mins. In case of a deadlocked server this is a long time to > wait, before the service comes back! > > Regards, > Oliver > > Wim Van Sebroeck schrieb: > > Hi Oliver, > > > >> this patch can cause serious problems in the case, that someone use it > >> with an it8712 rev. 8 and above. > > ... > >> Your patch changes it8712f_wdt.c in function t8712f_wdt_update_margin(): > >> > >>> - superio_outb((margin > 255) ? (margin / 60) : margin, WDT_TIMEOUT); > >>> + if (revision >= 0x08) > >>> + superio_outw(units, WDT_TIMEOUT); > >>> + else > >>> + superio_outb(units, WDT_TIMEOUT); > >> but here you can't use superio_outw, because the bytes are swapped > >> --historical reason. > >> > >> I suggest to substitute > >> superio_outw(units, WDT_TIMEOUT); > >> with > >> superio_outb(units >> 8, WDT_TIMEOUT + 1); > >> superio_outb(units, WDT_TIMEOUT); > >> > > > > Can you keep "Andrew Paprocki" <andrew@ishiboo.com> in the loop? > > Can you also create a patch and test it together with Andrew? > > We need to make sure that we fix this before 2.6.25 is there. > > > > Thanks, > > Wim > > >
| |