On Tue, Jun 14, 2005 at 02:03:09AM +0200, Johannes Stezenbach wrote: > 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 > > _______________________________________________ > > linux-dvb@xxxxxxxxxxx > http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb > Awesome, thanks! I'll try and report tomorrow. Cheers S. -- "What the fuck are we doing out here in the middle of the desert?" - A foreigner, propably Samoan