diff options
author | wpaul <wpaul@FreeBSD.org> | 1999-06-19 00:36:56 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 1999-06-19 00:36:56 +0000 |
commit | 2f586076cdac59250332cc3e33017bc718a6c8b4 (patch) | |
tree | 5aaf2350b53ef087e74cf0a79590df646128f2dc /sys/dev/ti/if_tireg.h | |
parent | 517a8eacaf9de8fce05ee46d0bb7f0f1d4c692b9 (diff) | |
download | FreeBSD-src-2f586076cdac59250332cc3e33017bc718a6c8b4.zip FreeBSD-src-2f586076cdac59250332cc3e33017bc718a6c8b4.tar.gz |
Add a transmit descriptor usage counter and use it to absolutely,
positively not let ti_encap() fill up the TX ring all the way and wrap
around. This fixes a potential transmit lockup where a really fast
machine (or particular TX traffic pattern) can overrun the end of the
ring.
Reported by: John Plevyak <jplevyak@inktomi.com>
Diffstat (limited to 'sys/dev/ti/if_tireg.h')
-rw-r--r-- | sys/dev/ti/if_tireg.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/ti/if_tireg.h b/sys/dev/ti/if_tireg.h index 666c039..c79336a 100644 --- a/sys/dev/ti/if_tireg.h +++ b/sys/dev/ti/if_tireg.h @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: if_tireg.h,v 1.2 1999/05/03 17:44:52 wpaul Exp $ + * $Id: if_tireg.h,v 1.3 1999/05/26 23:01:50 gallatin Exp $ */ /* @@ -1151,6 +1151,7 @@ struct ti_softc { u_int32_t ti_tx_max_coal_bds; u_int32_t ti_tx_buf_ratio; int ti_if_flags; + int ti_txcnt; }; /* |