fix a bug which could lock up a transmitter.

don't use the entire buffer space.  if WRTX becomes equal
to RDTX, the transmitter stops assuming the buffer is empty.
This commit is contained in:
Kenjiro Cho 1998-10-09 11:48:22 +00:00
parent 8b1ef8d464
commit 513bc54fe0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=40118

View File

@ -2119,7 +2119,11 @@ again:
goto dequeue_drop;
}
if (launch.need > sc->txslot[chan].bfree) {
/*
* note: don't use the entire buffer space. if WRTX becomes equal
* to RDTX, the transmitter stops assuming the buffer is empty! --kjc
*/
if (launch.need >= sc->txslot[chan].bfree) {
EN_COUNT(sc->txoutspace);
#ifdef EN_DEBUG
printf("%s: tx%d: out of transmit space\n", sc->sc_dev.dv_xname, chan);