diff options
author | arybchik <arybchik@FreeBSD.org> | 2015-03-31 08:05:29 +0000 |
---|---|---|
committer | arybchik <arybchik@FreeBSD.org> | 2015-03-31 08:05:29 +0000 |
commit | 5cd4ffb3cf5328a9f395acb9d42dd1ba8393c693 (patch) | |
tree | 4a13eea5190fac6c1a7dbac307226b348df86ec9 /sys/dev | |
parent | c3bb525c82a89173ecb70b2d2064cc4664e2ce7c (diff) | |
download | FreeBSD-src-5cd4ffb3cf5328a9f395acb9d42dd1ba8393c693.zip FreeBSD-src-5cd4ffb3cf5328a9f395acb9d42dd1ba8393c693.tar.gz |
MFC: r280807
sfxge: fix bug in TSO when a DMA segment has both header and data
Sponsored by: Solarflare Communications, Inc.
Diffstat (limited to 'sys/dev')
-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 366a5c9..ba39a70 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; |