aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/bwi
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2020-01-30 10:28:01 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2020-01-30 10:28:01 +0000
commitb65f813c1ab99448278961c5ca80dc422b1eae29 (patch)
treee9d3fc16d93a1cb5b2c696d2422cf4d78ae0199c /sys/dev/bwi
parent21c4082de9e2cf9a0fd81a9a981ab06022956847 (diff)
downloadsrc-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.c3
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;