]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
If the receiver runs out of space for an received frame in the internal
authorPoul-Henning Kamp <phk@FreeBSD.org>
Sat, 13 Apr 2002 21:33:33 +0000 (21:33 +0000)
committerPoul-Henning Kamp <phk@FreeBSD.org>
Sat, 13 Apr 2002 21:33:33 +0000 (21:33 +0000)
commitff7ed9f76b217c60acf2f6e85d2a9f907eea5c21
treeadcf2799a2e970b4fdb7eb8e01a8c7b589aa8fdb
parent3cd2a589264bd06b46aa37377460eee13f407e3b
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
sys/dev/nge/if_nge.c
sys/dev/nge/if_ngereg.h