summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2004-04-01 00:33:33 +0000
committersam <sam@FreeBSD.org>2004-04-01 00:33:33 +0000
commitdb3970859c10f151af31090a6c0f457949f9a7a6 (patch)
tree676c9c8fed45ca5992c08a3b9b1e83a3e964f7d5
parentcda068b39a4f3a94ab216cf91b40345277e134c1 (diff)
downloadFreeBSD-src-db3970859c10f151af31090a6c0f457949f9a7a6.zip
FreeBSD-src-db3970859c10f151af31090a6c0f457949f9a7a6.tar.gz
correct xmit-side radiotap collection by tap'ing the frame before
prepending the h/w header
-rw-r--r--sys/dev/wi/if_wi.c8
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;
OpenPOWER on IntegriCloud