diff options
author | Bjoern A. Zeeb <bz@FreeBSD.org> | 2023-10-29 14:25:23 +0000 |
---|---|---|
committer | Bjoern A. Zeeb <bz@FreeBSD.org> | 2024-06-12 22:18:50 +0000 |
commit | f9ac06af3b2dec6ac75f5639cb1396f9d943fc06 (patch) | |
tree | fcac7b7b2b034ae178b422204faa2bfe9834ff88 /sys/dev/ath/if_ath_rx.c | |
parent | 83549ee250c041bc46971d66b7a2f55bc11b41a5 (diff) |
net80211: move net_epoch into net80211
Move the net_epoch into net80211 around the if_input calls and out of
the driver (in this first case LinuxKPI). This reduces coverage but
also allows us to alloc in calls like (*ampdu_rx_start) which do not
actually pass data up the stack.
The follow-up commits (squashed) reverts:
b65f813c1ab99448278961c5ca80dc422b1eae29
Revert "Widen EPOCH(9) usage in PCI WLAN drivers.",
21c4082de9e2cf9a0fd81a9a981ab06022956847
Revert "Widen EPOCH(9) usage in USB WLAN drivers.",
17c328b6aebfa03cd1c2cbfbbc617e3b341bf1e4
Revert "Enter the network epoch in USB WiFi drivers when processing input",
af2441fbc7fa9e522e7f8697e5a181bdd4ff9e00
Revert "[ath] Attempt to fix epoch handling.",
and 6c3e93cb5a4aa4b8a2d8d4d326f2a7c34d3a4458 for if_ath.c only
ath: Revert "Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process".
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D42427
(cherry picked from commit de607e3c230be88f6232b9c9fd6c37199648dc8c)
(cherry picked from commit 1c6dd33d26eb02c6145383a49150965eeca61120)
(cherry picked from commit 39b702797994fbd62a21dd3af6d4cd7045fded23)
(cherry picked from commit 75f298492a12d53df97c26963ec9f2dc0b052878)
(cherry picked from commit eb3821e6d92fa45ece7ec08efde45e35be1bdc95)
(cherry picked from commit 82506f26c03aa312b91e01a797f31e061749a76d)
Diffstat (limited to 'sys/dev/ath/if_ath_rx.c')
-rw-r--r-- | sys/dev/ath/if_ath_rx.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/sys/dev/ath/if_ath_rx.c b/sys/dev/ath/if_ath_rx.c index 44edc75a5f09..586a56d8120e 100644 --- a/sys/dev/ath/if_ath_rx.c +++ b/sys/dev/ath/if_ath_rx.c @@ -666,8 +666,6 @@ ath_rx_pkt(struct ath_softc *sc, struct ath_rx_status *rs, HAL_STATUS status, int is_good = 0; struct ath_rx_edma *re = &sc->sc_rxedma[qtype]; - NET_EPOCH_ASSERT(); - /* * Calculate the correct 64 bit TSF given * the TSF64 register value and rs_tstamp. @@ -1089,8 +1087,6 @@ ath_rx_proc(struct ath_softc *sc, int resched) int kickpcu = 0; int ret; - NET_EPOCH_ASSERT(); - /* XXX we must not hold the ATH_LOCK here */ ATH_UNLOCK_ASSERT(sc); ATH_PCU_UNLOCK_ASSERT(sc); @@ -1310,7 +1306,6 @@ static void ath_legacy_rx_tasklet(void *arg, int npending) { struct ath_softc *sc = arg; - struct epoch_tracker et; ATH_KTR(sc, ATH_KTR_RXPROC, 1, "ath_rx_proc: pending=%d", npending); DPRINTF(sc, ATH_DEBUG_RX_PROC, "%s: pending %u\n", __func__, npending); @@ -1323,18 +1318,14 @@ ath_legacy_rx_tasklet(void *arg, int npending) } ATH_PCU_UNLOCK(sc); - NET_EPOCH_ENTER(et); ath_rx_proc(sc, 1); - NET_EPOCH_EXIT(et); } static void ath_legacy_flushrecv(struct ath_softc *sc) { - struct epoch_tracker et; - NET_EPOCH_ENTER(et); + ath_rx_proc(sc, 0); - NET_EPOCH_EXIT(et); } static void |