diff options
author | Hans Petter Selasky <hselasky@FreeBSD.org> | 2020-01-30 10:28:01 +0000 |
---|---|---|
committer | Hans Petter Selasky <hselasky@FreeBSD.org> | 2020-01-30 10:28:01 +0000 |
commit | b65f813c1ab99448278961c5ca80dc422b1eae29 (patch) | |
tree | e9d3fc16d93a1cb5b2c696d2422cf4d78ae0199c /sys/dev/bwi | |
parent | 21c4082de9e2cf9a0fd81a9a981ab06022956847 (diff) | |
download | src-b65f813c1ab99448278961c5ca80dc422b1eae29.tar.gz src-b65f813c1ab99448278961c5ca80dc422b1eae29.zip |
Widen EPOCH(9) usage in PCI WLAN drivers.
Make sure all occurrences of ieee80211_input_xxx() in sys/dev are
covered by a network epoch section. Do not depend on the interrupt
handler nor any taskqueues being in a network epoch section.
This patch should unbreak the PCI WLAN drivers after r357004.
Pointy hat: glebius@
Sponsored by: Mellanox Technologies
Notes
Notes:
svn path=/head/; revision=357291
Diffstat (limited to 'sys/dev/bwi')
-rw-r--r-- | sys/dev/bwi/if_bwi.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/bwi/if_bwi.c b/sys/dev/bwi/if_bwi.c index feb522acfc3c..2114a9ace69b 100644 --- a/sys/dev/bwi/if_bwi.c +++ b/sys/dev/bwi/if_bwi.c @@ -1506,6 +1506,7 @@ bwi_stop_locked(struct bwi_softc *sc, int statechg) void bwi_intr(void *xsc) { + struct epoch_tracker et; struct bwi_softc *sc = xsc; struct bwi_mac *mac; uint32_t intr_status; @@ -1625,7 +1626,9 @@ bwi_intr(void *xsc) device_printf(sc->sc_dev, "intr noise\n"); if (txrx_intr_status[0] & BWI_TXRX_INTR_RX) { + NET_EPOCH_ENTER(et); rx_data = sc->sc_rxeof(sc); + NET_EPOCH_EXIT(et); if (sc->sc_flags & BWI_F_STOP) { BWI_UNLOCK(sc); return; |