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" 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