Date: Sat, 13 Apr 2002 14:33:33 -0700 (PDT) From: Poul-Henning Kamp <phk@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/nge if_nge.c if_ngereg.h Message-ID: <200204132133.g3DLXXI91532@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
phk 2002/04/13 14:33:33 PDT
Modified files:
sys/dev/nge if_nge.c if_ngereg.h
Log:
If the receiver runs out of space for an received frame in the internal
FIFO or the in-RAM descriptors it will switch to RX_IDLE from where it
is not restarted.
We used to deal with RX_IDLE by doing a total reinit but this lost
our link and caused a potential 30sec autonegotiation against
switches. This was changed to a less heavyhanded approach, but this
failed to restart the receiver it it were in the RX_IDLE state.
This change adds the RX_IDLE and the RX_FIFO_OFLOW conditions as
triggers for interrupts and receive side processing, and restarts
the receiver when it is RX_IDLE.
Remove the #ifdef notyet'ed nge_rxeoc() function.
Sponsored by: Cybercity Internet, Denmark.
MFC after: 7 days
Revision Changes Path
1.28 +6 -21 src/sys/dev/nge/if_nge.c
1.6 +3 -2 src/sys/dev/nge/if_ngereg.h
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204132133.g3DLXXI91532>
