diff options
author | markj <markj@FreeBSD.org> | 2016-03-02 05:05:02 +0000 |
---|---|---|
committer | markj <markj@FreeBSD.org> | 2016-03-02 05:05:02 +0000 |
commit | dc83a3d34026d554efde6a0b093478f5417a27ce (patch) | |
tree | f03155d30b923dbf98c1085d2a4e127d929a1db8 | |
parent | 33b572c3379931cdf4c3cc9b7dfadbb894c3024b (diff) | |
download | FreeBSD-src-dc83a3d34026d554efde6a0b093478f5417a27ce.zip FreeBSD-src-dc83a3d34026d554efde6a0b093478f5417a27ce.tar.gz |
Use m_catpkt(9) to ensure that pkthdr fields are updated properly.
Reviewed by: glebius
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D5497
-rw-r--r-- | sys/dev/usb/net/uhso.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/sys/dev/usb/net/uhso.c b/sys/dev/usb/net/uhso.c index f2afb0b..99b9c5f 100644 --- a/sys/dev/usb/net/uhso.c +++ b/sys/dev/usb/net/uhso.c @@ -1666,7 +1666,7 @@ uhso_if_rxflush(void *arg) struct ip6_hdr *ip6; #endif uint16_t iplen; - int len, isr; + int isr; m = NULL; mwait = sc->sc_mwait; @@ -1686,13 +1686,8 @@ uhso_if_rxflush(void *arg) UHSO_DPRINTF(3, "partial m0=%p(%d), concat w/ m=%p(%d)\n", m0, m0->m_len, m, m->m_len); - len = m->m_len + m0->m_len; - - /* Concat mbufs and fix headers */ - m_cat(m0, m); - m0->m_pkthdr.len = len; - m->m_flags &= ~M_PKTHDR; + m_catpkt(m0, m); m = m_pullup(m0, sizeof(struct ip)); if (m == NULL) { if_inc_counter(ifp, IFCOUNTER_IERRORS, 1); |