Thread (1 message) 1 message, 1 author, 2002-12-10
  • (off-list ancestor, not in this archive)
  • RE: 8xx_io/enet.c · Stephan Linke <hidden> · 2002-12-10

RE: 8xx_io/enet.c

From: Stephan Linke <hidden>
Date: 2002-12-10 15:02:40

Hi Joakim,
quoted
Since the errors are reported on packet base it is always the last
packed
quoted
that get's corrupted. (I think it's like this: when there are no more
buffers the CPM simply continues writing on the current buffer causing
this
quoted
problem).
I think not, once the CPM has received a packet in a BD, it
closes that BD and
will not modify that BD until you tell the CPM its free again. Atleast
this should be the case for the SCC, don't know if the FEC is supposed
to do the same
we are using the one in the 2.4.18 kernel (hardhead). Sorry I don't actualy
know wich patch. :(

But I recall that we had this problem with fec.c while our CPU was under
heavy load. But I think it's the same situation on enet.c.
Finaly you are right. SCCE_ENET_BSY dosn't cause such problems. At the FEC
there is no BSY interrupt event. There's only BD_ENET_RX_OV signaling a
buffer overflow. Since that is an error condition the buffer has to be
discarded leading to the  condition I tried to describe.
It looks like BD_ENET_RX_OV occures in enet.c ONLY for 'oversized' frames.
On FEC it occures on missing BD's too cuasing that stupid behavior.
I didn't expect that mutch of a difference. Sorry.


Stephan


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help