summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authormatt <matt@NetBSD.org>1998-09-19 21:21:25 +0000
committermatt <matt@NetBSD.org>1998-09-19 21:21:25 +0000
commit935fbed4fe03fef3377d12625ec666b90241fd52 (patch)
tree0c7e46d12ea035b0c3e4ff9ca0199e4b9d8238e8 /sys/dev
parenta7ad0f02b49ffde5d00d0ff6acb8bbc21a1d5567 (diff)
Make sure data in FDDI packets are aligned nicely (for alpha, etc.)
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ic/pdq_ifsubr.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/dev/ic/pdq_ifsubr.c b/sys/dev/ic/pdq_ifsubr.c
index 4f799c5512b..e3c53eeae97 100644
--- a/sys/dev/ic/pdq_ifsubr.c
+++ b/sys/dev/ic/pdq_ifsubr.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pdq_ifsubr.c,v 1.20 1998/08/16 03:44:42 matt Exp $ */
+/* $NetBSD: pdq_ifsubr.c,v 1.21 1998/09/19 21:21:25 matt Exp $ */
/*-
* Copyright (c) 1995, 1996 Matt Thomas <matt@3am-software.com>
@@ -249,9 +249,13 @@ pdq_os_receive_pdu(
}
}
#endif
+ m->m_pkthdr.len = pktlen;
#if NBPFILTER > 0
- if (sc->sc_bpf != NULL)
+ if (sc->sc_bpf != NULL) {
+ m->m_data -= 3; m->m_len += 3; m->m_pkthdr.len += 3;
PDQ_BPF_MTAP(sc, m);
+ m->m_data += 3; m->m_len -= 3; m->m_pkthdr.len -= 3;
+ }
#endif
if (drop || (fh->fddi_fc & (FDDIFC_L|FDDIFC_F)) != FDDIFC_LLC_ASYNC) {
PDQ_OS_DATABUF_FREE(pdq, m);
@@ -260,7 +264,7 @@ pdq_os_receive_pdu(
m->m_data += sizeof(struct fddi_header);
m->m_len -= sizeof(struct fddi_header);
- m->m_pkthdr.len = pktlen - sizeof(struct fddi_header);
+ m->m_pkthdr.len -= sizeof(struct fddi_header);
m->m_pkthdr.rcvif = &sc->sc_if;
fddi_input(&sc->sc_if, fh, m);
}