summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/wlan/if_run.c
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2016-06-04 07:18:39 +0000
committeradrian <adrian@FreeBSD.org>2016-06-04 07:18:39 +0000
commit5b5250ad6263752fe2ad5c124840e0cda423fc6f (patch)
treeec3878e9cfe062a906135feb1c0689b4786c011a /sys/dev/usb/wlan/if_run.c
parentef75f3885b65f844ecc4210be8f5caac01b82326 (diff)
downloadFreeBSD-src-5b5250ad6263752fe2ad5c124840e0cda423fc6f.zip
FreeBSD-src-5b5250ad6263752fe2ad5c124840e0cda423fc6f.tar.gz
[run] fix TSF locking in RX radiotap.
Submitted by: Imre Vadasz <imre@vdsz.com>
Diffstat (limited to 'sys/dev/usb/wlan/if_run.c')
-rw-r--r--sys/dev/usb/wlan/if_run.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/usb/wlan/if_run.c b/sys/dev/usb/wlan/if_run.c
index ac623e5..58e8544 100644
--- a/sys/dev/usb/wlan/if_run.c
+++ b/sys/dev/usb/wlan/if_run.c
@@ -2829,7 +2829,9 @@ run_rx_frame(struct run_softc *sc, struct mbuf *m, uint32_t dmalen)
tap->wr_antenna = ant;
tap->wr_dbm_antsignal = run_rssi2dbm(sc, rssi, ant);
tap->wr_rate = 2; /* in case it can't be found below */
+ RUN_LOCK(sc);
run_get_tsf(sc, &tap->wr_tsf);
+ RUN_UNLOCK(sc);
phy = le16toh(rxwi->phy);
switch (phy & RT2860_PHY_MODE) {
case RT2860_PHY_CCK:
OpenPOWER on IntegriCloud