summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_xge.c
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2015-04-30 07:51:08 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2015-04-30 07:51:08 +0000
commit4c5e0f25d6a330dd984dac978f2e8612cf62cd8a (patch)
tree378bd7a8f45b3fd4928c6932c02e2aea8cadc0c2 /sys/dev/pci/if_xge.c
parenta3e6a0f9b6b6da7f08adf24e9add7ed449dc5000 (diff)
Convert moar drivers to if_input().
ok dlg@
Diffstat (limited to 'sys/dev/pci/if_xge.c')
-rw-r--r--sys/dev/pci/if_xge.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/sys/dev/pci/if_xge.c b/sys/dev/pci/if_xge.c
index 6d9310c29f2..94d3de68124 100644
--- a/sys/dev/pci/if_xge.c
+++ b/sys/dev/pci/if_xge.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_xge.c,v 1.60 2015/03/14 03:38:48 jsg Exp $ */
+/* $OpenBSD: if_xge.c,v 1.61 2015/04/30 07:51:07 mpi Exp $ */
/* $NetBSD: if_xge.c,v 1.1 2005/09/09 10:30:27 ragge Exp $ */
/*
@@ -804,6 +804,7 @@ xge_intr(void *pv)
struct xge_softc *sc = pv;
struct txd *txd;
struct ifnet *ifp = &sc->sc_arpcom.ac_if;
+ struct mbuf_list ml = MBUF_LIST_INITIALIZER();
bus_dmamap_t dmp;
uint64_t val;
int i, lasttx, plen;
@@ -892,7 +893,6 @@ xge_intr(void *pv)
plen += m->m_next->m_next->m_next->m_next->m_len =
RXD_CTL3_BUF4SIZ(rxd->rxd_control3);
#endif
- m->m_pkthdr.rcvif = ifp;
m->m_pkthdr.len = plen;
val = rxd->rxd_control1;
@@ -928,17 +928,14 @@ xge_intr(void *pv)
}
#endif
-#if NBPFILTER > 0
- if (ifp->if_bpf)
- bpf_mtap_ether(ifp->if_bpf, m, BPF_DIRECTION_IN);
-#endif /* NBPFILTER > 0 */
-
- ether_input_mbuf(ifp, m);
+ ml_enqueue(&ml, m);
if (++sc->sc_nextrx == NRXREAL)
sc->sc_nextrx = 0;
}
+ if_input(ifp, &ml);
+
return (1);
}