[linux-dvb] syslog: av7110_fw_request: timeout waiting
for HANDSHAKE_REG - What does this mean?
Johannes Stezenbach
js at linuxtv.org
Tue Jun 14 02:03:09 CEST 2005
On Wed, Jun 08, 2005 at 03:53:44AM -0700, C.Y.M wrote:
> Johannes Stezenbach wrote:
> > On Fri, Jun 03, 2005 at 10:06:52AM +0200, Sebastian wrote:
> >
> >>Jun 3 05:31:43 hal9000 av7110_fw_request: timeout waiting for HANDSHAKE_REG
> >
> > I don't know what causes it. The error message means the firmware
> > crashed (or it's internal state got confused) in a different than
> > the usual location.
>
> I am able to reproduce this "handshake" error by maxing my cpu and then using an
> application that outputs through the FF card. For example.. I start mencoder to
> encode an mpeg file which pretty much uses all the cpu on my machine. Then, I
> use mplayer to output a mpg file with mpegpes while the machine is still
> encoding the other file. Almost immediately I start finding "av7110_fw_request:
> timeout waiting for HANDSHAKE_REG" in the syslog. If I am not maxing out my cpu
> (ie; encoding a file) while I play a mpg via mpegpes, then the errors do not occur.
I just fixed a bug in timeout handling:
start = jiffies;
while (rdebi(av7110, DEBINOSWAP, COMMAND, 0, 2 )) {
- msleep(1);
if (time_after(jiffies, start + ARM_WAIT_FREE)) {
printk(KERN_ERR "dvb-ttpci: %s(): timeout waiting for COMMAND idle\n", __FUNCTION__);
return -ETIMEDOUT;
}
+ msleep(1);
}
(multiple occurences)
When the machine is busy, msleep(1) can sleep unexpectedly long.
Additionally, it doesn't make sense to sleep and then exit with
a timeout without retesting the condition we're waiting for.
Please test current CVS if this fixes the HANDSHAKE_REG timeout for you.
Johannes
More information about the linux-dvb
mailing list