Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Linux: Kernel

[PATCH][WATCHDOG] v2.6.25-rc7: it8712f_wdt.c contains an error - was Re: [WATCHDOG] v2.5.25-rc patches

 

 

Linux kernel RSS feed   Index | Next | Previous | View Threaded


oliver.s at inbox

Apr 1, 2008, 8:06 AM

Post #1 of 1 (26 views)
Permalink
[PATCH][WATCHDOG] v2.6.25-rc7: it8712f_wdt.c contains an error - was Re: [WATCHDOG] v2.5.25-rc patches

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[at]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
Attachments: 2.6.25-rc7-it8712f_wdt.patch (0.88 KB)

Linux kernel RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.