aboutsummaryrefslogtreecommitdiff
path: root/sys/net/iflib.c
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2020-11-11 18:00:06 +0000
committerMark Johnston <markj@FreeBSD.org>2020-11-11 18:00:06 +0000
commit54bf96fb4f167fdbc66232f5ec4a7f3f15d2db8f (patch)
tree7ebbb1d0cefe895bd46061c8455a365e5f9ceec7 /sys/net/iflib.c
parent20f02659d6c7c20ee3c5a7cb21aa8caa43764d12 (diff)
downloadsrc-54bf96fb4f167fdbc66232f5ec4a7f3f15d2db8f.tar.gz
src-54bf96fb4f167fdbc66232f5ec4a7f3f15d2db8f.zip
iflib: Free full mbuf chains when draining transmit queues
Submitted by: Sai Rajesh Tallamraju <stallamr@netapp.com> Reviewed by: gallatin, hselasky MFC after: 1 week Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D27179
Notes
Notes: svn path=/head/; revision=367596
Diffstat (limited to 'sys/net/iflib.c')
-rw-r--r--sys/net/iflib.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/net/iflib.c b/sys/net/iflib.c
index 7798225f7022..9e7bc7f57b71 100644
--- a/sys/net/iflib.c
+++ b/sys/net/iflib.c
@@ -1781,7 +1781,7 @@ iflib_txsd_free(if_ctx_t ctx, iflib_txq_t txq, int i)
bus_dmamap_unload(txq->ift_tso_buf_tag,
txq->ift_sds.ifsd_tso_map[i]);
}
- m_free(*mp);
+ m_freem(*mp);
DBG_COUNTER_INC(tx_frees);
*mp = NULL;
}
@@ -3660,7 +3660,7 @@ iflib_txq_drain(struct ifmp_ring *r, uint32_t cidx, uint32_t pidx)
DBG_COUNTER_INC(txq_drain_flushing);
for (i = 0; i < avail; i++) {
if (__predict_true(r->items[(cidx + i) & (r->size-1)] != (void *)txq))
- m_free(r->items[(cidx + i) & (r->size-1)]);
+ m_freem(r->items[(cidx + i) & (r->size-1)]);
r->items[(cidx + i) & (r->size-1)] = NULL;
}
return (avail);