diff options
author | sam <sam@FreeBSD.org> | 2004-04-01 00:33:33 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2004-04-01 00:33:33 +0000 |
commit | db3970859c10f151af31090a6c0f457949f9a7a6 (patch) | |
tree | 676c9c8fed45ca5992c08a3b9b1e83a3e964f7d5 /sys/dev/wi | |
parent | cda068b39a4f3a94ab216cf91b40345277e134c1 (diff) | |
download | FreeBSD-src-db3970859c10f151af31090a6c0f457949f9a7a6.zip FreeBSD-src-db3970859c10f151af31090a6c0f457949f9a7a6.tar.gz |
correct xmit-side radiotap collection by tap'ing the frame before
prepending the h/w header
Diffstat (limited to 'sys/dev/wi')
-rw-r--r-- | sys/dev/wi/if_wi.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/wi/if_wi.c b/sys/dev/wi/if_wi.c index c036199..fb45ee9 100644 --- a/sys/dev/wi/if_wi.c +++ b/sys/dev/wi/if_wi.c @@ -939,10 +939,6 @@ wi_start(struct ifnet *ifp) } frmhdr.wi_tx_ctl |= htole16(WI_TXCNTL_NOCRYPT); } - m_copydata(m0, 0, sizeof(struct ieee80211_frame), - (caddr_t)&frmhdr.wi_whdr); - m_adj(m0, sizeof(struct ieee80211_frame)); - frmhdr.wi_dat_len = htole16(m0->m_pkthdr.len); #if NBPFILTER > 0 if (sc->sc_drvbpf) { sc->sc_tx_th.wt_rate = @@ -951,6 +947,10 @@ wi_start(struct ifnet *ifp) &sc->sc_tx_th, sizeof(sc->sc_tx_th), m0); } #endif + m_copydata(m0, 0, sizeof(struct ieee80211_frame), + (caddr_t)&frmhdr.wi_whdr); + m_adj(m0, sizeof(struct ieee80211_frame)); + frmhdr.wi_dat_len = htole16(m0->m_pkthdr.len); if (IFF_DUMPPKTS(ifp)) wi_dump_pkt(&frmhdr, NULL, -1); fid = sc->sc_txd[cur].d_fid; |