summaryrefslogtreecommitdiff
path: root/sys/dev/ic
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2015-02-12 09:08:48 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2015-02-12 09:08:48 +0000
commitadceaad04f6fd5872996207d9bc5e69aa07f9584 (patch)
tree381dfaa90a95b215f3d09fd3eaea96b8ca7c69a8 /sys/dev/ic
parent7467958c4a88e5dd558a5dad07fc43086dec54d7 (diff)
Convert to if_input().
ok dlg@
Diffstat (limited to 'sys/dev/ic')
-rw-r--r--sys/dev/ic/fxp.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/sys/dev/ic/fxp.c b/sys/dev/ic/fxp.c
index d636a4d4d7a..681773a1323 100644
--- a/sys/dev/ic/fxp.c
+++ b/sys/dev/ic/fxp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: fxp.c,v 1.118 2014/12/22 02:28:51 tedu Exp $ */
+/* $OpenBSD: fxp.c,v 1.119 2015/02/12 09:08:00 mpi Exp $ */
/* $NetBSD: if_fxp.c,v 1.2 1997/06/05 02:01:55 thorpej Exp $ */
/*
@@ -785,6 +785,7 @@ fxp_intr(void *arg)
{
struct fxp_softc *sc = arg;
struct ifnet *ifp = &sc->sc_arpcom.ac_if;
+ struct mbuf_list ml = MBUF_LIST_INITIALIZER();
u_int16_t statack;
bus_dmamap_t rxmap;
int claimed = 0;
@@ -911,15 +912,8 @@ rcvloop:
goto rcvloop;
}
- m->m_pkthdr.rcvif = ifp;
- m->m_pkthdr.len = m->m_len =
- total_len;
-#if NBPFILTER > 0
- if (ifp->if_bpf)
- bpf_mtap(ifp->if_bpf, m,
- BPF_DIRECTION_IN);
-#endif /* NBPFILTER > 0 */
- ether_input_mbuf(ifp, m);
+ m->m_pkthdr.len = m->m_len = total_len;
+ ml_enqueue(&ml, m);
}
goto rcvloop;
}
@@ -935,6 +929,9 @@ rcvloop:
}
}
+
+ if_input(ifp, &ml);
+
return (claimed);
}