Index: net/if.c =================================================================== RCS file: /cvs/src/sys/net/if.c,v retrieving revision 1.469 diff -u -p -r1.469 if.c --- net/if.c 29 Dec 2016 12:12:43 -0000 1.469 +++ net/if.c 3 Jan 2017 05:17:03 -0000 @@ -624,6 +624,9 @@ if_input(struct ifnet *ifp, struct mbuf_ caddr_t if_bpf; #endif + if (ml_empty(ml)) + return; + MBUF_LIST_FOREACH(ml, m) { m->m_pkthdr.ph_ifidx = ifp->if_index; m->m_pkthdr.ph_rtableid = ifp->if_rdomain; @@ -649,6 +652,9 @@ if_input(struct ifnet *ifp, struct mbuf_ ml_enqueue(ml, m); } } + + if (ml_empty(ml)) + return; #endif mq_enlist(&ifp->if_inputqueue, ml); Index: dev/ic/re.c =================================================================== RCS file: /cvs/src/sys/dev/ic/re.c,v retrieving revision 1.198 diff -u -p -r1.198 re.c --- dev/ic/re.c 16 Nov 2016 06:06:04 -0000 1.198 +++ dev/ic/re.c 3 Jan 2017 05:17:03 -0000 @@ -1520,7 +1520,8 @@ re_intr(void *arg) claimed = 1; if (status & RL_INTRS_CPLUS) { - if (status & (sc->rl_rx_ack | RL_ISR_RX_ERR)) { + if (status & + (sc->rl_rx_ack | RL_ISR_RX_ERR | RL_ISR_FIFO_OFLOW)) { rx |= re_rxeof(sc); claimed = 1; }