summaryrefslogtreecommitdiff
path: root/sys/dev/ic/am7990.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/ic/am7990.c')
-rw-r--r--sys/dev/ic/am7990.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/sys/dev/ic/am7990.c b/sys/dev/ic/am7990.c
index b5c24362d31..bc917ed8c89 100644
--- a/sys/dev/ic/am7990.c
+++ b/sys/dev/ic/am7990.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: am7990.c,v 1.21 2001/03/01 07:37:17 bjc Exp $ */
+/* $OpenBSD: am7990.c,v 1.22 2001/06/23 23:17:35 fgsch Exp $ */
/* $NetBSD: am7990.c,v 1.22 1996/10/13 01:37:19 christos Exp $ */
/*-
@@ -446,7 +446,6 @@ am7990_read(sc, boff, len)
int boff, len;
{
struct mbuf *m;
- struct ether_header *eh;
if (len <= sizeof(struct ether_header) ||
len > ETHERMTU + sizeof(struct ether_header)) {
@@ -467,9 +466,6 @@ am7990_read(sc, boff, len)
ifp->if_ipackets++;
- /* We assume that the header fit entirely in one mbuf. */
- eh = mtod(m, struct ether_header *);
-
#if NBPFILTER > 0
/*
* Check if there's a BPF listener on this interface.
@@ -480,6 +476,10 @@ am7990_read(sc, boff, len)
#endif
#ifdef LANCE_REVC_BUG
+ {
+ struct ether_header *eh;
+ eh = mtod(m, struct ether_header *);
+
/*
* The old LANCE (Rev. C) chips have a bug which causes
* garbage to be inserted in front of the received packet.
@@ -492,11 +492,10 @@ am7990_read(sc, boff, len)
m_freem(m);
return;
}
+ }
#endif
- /* Pass the packet up, with the ether header sort-of removed. */
- m_adj(m, sizeof(struct ether_header));
- ether_input(ifp, eh, m);
+ ether_input_mbuf(ifp, m);
}
integrate void