Re: length of iso packets
Brought to you by:
aeb,
bencollins
From: Andreas B. <and...@mu...> - 2000-04-15 02:58:17
|
On Fri, Apr 14, 2000 at 01:36:46PM +0200, Manfred Weihs wrote: > > > On Fri, 14 Apr 2000, Andreas Bombe wrote: > > > Could you please apply the following patch to pcilynx.c directly > > (i.e. cd into drivers/ieee1394 directory and "patch pcilynx.c <patch") > > It will probably say that it moved the hunk because I have changed my > > pcilynx.c a bit but that's no problem. The patched file should log > > length mismatches with the register content, please send them to me. > > OK. I here is that part of my /var/log/messages, which is of interrest: > > Apr 14 13:21:10 localhost kernel: pcilynx0: sent reject > Apr 14 13:21:10 localhost kernel: pcilynx0: iso length mismatch 0x030841a0/0x484a014c > Apr 14 13:21:12 localhost kernel: pcilynx0: sent reject > Apr 14 13:21:12 localhost kernel: pcilynx0: iso length mismatch 0x030841a0/0x484a02dc Now that I've been running with this, I got the same errors... It's apparantly caused by receive buffer overflows. Some data gets lost, so the DMA does and reports smaller packets than the iso header. > I should mention that this especially happens, if there is higher load on > my system, eg. if I start netscape and load a page. ... which might cause heavy activity on the PCI bus so that the FIFO on the Lynx can't be emptied in time and overflows. I didn't know how to size the FIFOs so I gave all of them (general receive, async transmit, iso transmit) the same size. Try the current version of pcilynx.c from CVS which has the iso length check already included and configures the receive FIFO larger. This might cause transmits to fail due to underruns on the transmit FIFO. Try it and see if there are problems. It would be possible to do dynamic resizing based on overflow / underrun statistics... -- Andreas E. Bombe <and...@mu...> DSA key 0x04880A44 http://home.pages.de/~andreas.bombe/ http://linux1394.sourceforge.net/ |