aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/sfxge
diff options
context:
space:
mode:
authorAndrew Rybchenko <arybchik@FreeBSD.org>2015-03-29 15:18:04 +0000
committerAndrew Rybchenko <arybchik@FreeBSD.org>2015-03-29 15:18:04 +0000
commitcfaf34ff99d2a8d9a405b61a4dca7a951028b4d9 (patch)
tree1bcc94d3f21c89967d29531658a64b0168224c0d /sys/dev/sfxge
parentb308aaed27e5186d61a37afeea615a22a8c212ef (diff)
downloadsrc-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.c2
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;