diff options
author | Andrew Rybchenko <arybchik@FreeBSD.org> | 2015-03-29 15:18:04 +0000 |
---|---|---|
committer | Andrew Rybchenko <arybchik@FreeBSD.org> | 2015-03-29 15:18:04 +0000 |
commit | cfaf34ff99d2a8d9a405b61a4dca7a951028b4d9 (patch) | |
tree | 1bcc94d3f21c89967d29531658a64b0168224c0d /sys/dev/sfxge | |
parent | b308aaed27e5186d61a37afeea615a22a8c212ef (diff) | |
download | src-cfaf34ff99d2a8d9a405b61a4dca7a951028b4d9.tar.gz src-cfaf34ff99d2a8d9a405b61a4dca7a951028b4d9.zip |
sfxge: fix bug in TSO when a DMA segment has both header and data
Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.
MFC after: 2 days
Differential Revision: https://reviews.freebsd.org/D2163
Notes
Notes:
svn path=/head/; revision=280807
Diffstat (limited to 'sys/dev/sfxge')
-rw-r--r-- | sys/dev/sfxge/sfxge_tx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/sfxge/sfxge_tx.c b/sys/dev/sfxge/sfxge_tx.c index edb77b6662fa..d00f9eb45410 100644 --- a/sys/dev/sfxge/sfxge_tx.c +++ b/sys/dev/sfxge/sfxge_tx.c @@ -1025,7 +1025,7 @@ sfxge_tx_queue_tso(struct sfxge_txq *txq, struct mbuf *mbuf, KASSERT(n_dma_seg, ("no payload found in TSO packet")); ++dma_seg; } - tso.in_len = dma_seg->ds_len + (tso.header_len - skipped); + tso.in_len = dma_seg->ds_len - (tso.header_len - skipped); tso.dma_addr = dma_seg->ds_addr + (tso.header_len - skipped); id = txq->added & txq->ptr_mask; |