From ad22a8134d76f4d9802ee979d411a6d51fae2010 Mon Sep 17 00:00:00 2001 From: arybchik Date: Tue, 31 Mar 2015 08:05:29 +0000 Subject: [PATCH] MFC: r280807 sfxge: fix bug in TSO when a DMA segment has both header and data Sponsored by: Solarflare Communications, Inc. git-svn-id: svn://svn.freebsd.org/base/stable/10@280901 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sys/dev/sfxge/sfxge_tx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/sfxge/sfxge_tx.c b/sys/dev/sfxge/sfxge_tx.c index 366a5c99c..ba39a70e8 100644 --- a/sys/dev/sfxge/sfxge_tx.c +++ b/sys/dev/sfxge/sfxge_tx.c @@ -1024,7 +1024,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; -- 2.45.0