diff options
| author | Hidetoshi Shimokawa <simokawa@FreeBSD.org> | 2004-07-20 04:33:08 +0000 |
|---|---|---|
| committer | Hidetoshi Shimokawa <simokawa@FreeBSD.org> | 2004-07-20 04:33:08 +0000 |
| commit | ce6dc61f26b9e2fbc7a98f39b3cc5d0070ffa0cf (patch) | |
| tree | 6d46983a8a099260f1fbafcbf1a2dd682e9cf1df /sys/dev/firewire | |
| parent | 8351d731167835ab721f2d0ffb4890c92cad32c0 (diff) | |
Notes
Diffstat (limited to 'sys/dev/firewire')
| -rw-r--r-- | sys/dev/firewire/if_fwe.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/dev/firewire/if_fwe.c b/sys/dev/firewire/if_fwe.c index cc52d2bea6c7..d3c828de4791 100644 --- a/sys/dev/firewire/if_fwe.c +++ b/sys/dev/firewire/if_fwe.c @@ -209,7 +209,9 @@ fwe_attach(device_t dev) ifp->if_name = "fwe"; #endif ifp->if_init = fwe_init; +#if defined(__DragonFly__) || __FreeBSD_version < 500000 ifp->if_output = ether_output; +#endif ifp->if_start = fwe_start; ifp->if_ioctl = fwe_ioctl; ifp->if_mtu = ETHERMTU; @@ -228,6 +230,7 @@ fwe_attach(device_t dev) ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); #if defined(__FreeBSD__) && __FreeBSD_version >= 500000 ifp->if_capabilities |= IFCAP_VLAN_MTU; + ifp->if_capenable |= IFCAP_VLAN_MTU; #endif @@ -549,7 +552,7 @@ fwe_as_output(struct fwe_softc *fwe, struct ifnet *ifp) /* keep ip packet alignment for alpha */ M_PREPEND(m, ETHER_ALIGN, M_DONTWAIT); fp = &xfer->send.hdr; - *(u_int32_t *)&xfer->send.hdr = *(int32_t *)&fwe->pkt_hdr; + *(uint32_t *)&xfer->send.hdr = *(int32_t *)&fwe->pkt_hdr; fp->mode.stream.len = m->m_pkthdr.len; xfer->mbuf = m; xfer->send.pay_len = m->m_pkthdr.len; @@ -618,9 +621,11 @@ fwe_as_input(struct fw_xferq *xferq) #if defined(__DragonFly__) || __FreeBSD_version < 500000 eh = (struct ether_header *)c; m->m_data += sizeof(struct ether_header); + m->m_len = m->m_pkthdr.len = fp->mode.stream.len - ETHER_ALIGN + - sizeof(struct ether_header); +#else + m->m_len = m->m_pkthdr.len = fp->mode.stream.len - ETHER_ALIGN; #endif - m->m_len = m->m_pkthdr.len = - fp->mode.stream.len - ETHER_ALIGN; m->m_pkthdr.rcvif = ifp; #if 0 FWEDEBUG(ifp, "%02x %02x %02x %02x %02x %02x\n" |
