[linux-dvb] [PATCH 1/3] Fix a problem during the access to the
IER and ISR registers of the SA7146
e9hack at googlemail.com
Sun Dec 17 22:05:21 CET 2006
Dominik Strasser wrote:
> e9hack schrieb:
>> I think that this comes from ves1820_readreg().
This was wrong, it comes from ves1820_writereg(). It is the write
sequence from ves1820_init().
>> If your kernel is configured with a timer frequency of 100Hz or if your
>> pc runs with a high load, the timeout value of 10ms may be to small. The
>> second patch increases the timeout value to 50ms.
> This is a standard Suse 10.2 kernel which is built with CONFIG_HZ=250
> The load is rather low, only VDR is running <10% CPU.
> Unfortunately the increased timeout didn't change anything.
> But with CONFIG_HZ=250, the timeout was still at 10ms. I now changed
> it to 20*HZ/100, now the frequency of the message has decreased, but
> it still occurs. I'll retry with increased values. 50*HZ seems to
> work. I'll try to find a minimum. No 50 isn't enough. Still messages
> occur ...
I've looked to saa7146_i2c_writeout() and to
wait_event_interruptible_timeout() again. The timeout value is
calculated after the transfer is started. A high load doesn't shorten
the real timeout. I think that the old value of 10ms is enough. There is
no error message from ves1820_writereg(). The values are written
correctly during the retries. The same timeout messages exist for the
(old) non interrupt transfer. But in this case the message is only
printed if I2C-debugging is enabled.. I think you will see this message
also with the (old) non interrupt transfer, if you change this debug
message to an always printed message.
More information about the linux-dvb