diff options
author | Ryder Lee <ryder.lee@mediatek.com> | 2023-02-18 01:50:05 +0800 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2023-03-07 11:01:27 +0100 |
commit | 5383bfff5261422f843de72a4089da9b152291b0 (patch) | |
tree | 1131ab01a6b40f99d192d6cb799ef991dfbce098 /include/net/mac80211.h | |
parent | 9179dff82598ab8b4e88dcc93c9e26a2594efd1a (diff) | |
download | lwn-5383bfff5261422f843de72a4089da9b152291b0.tar.gz lwn-5383bfff5261422f843de72a4089da9b152291b0.zip |
wifi: mac80211: introduce ieee80211_refresh_tx_agg_session_timer()
This allows low level drivers to refresh the tx agg session timer, based on
querying stats from the firmware usually. Especially for some mt76 devices
support .net_fill_forward_path would bypass mac80211, which leads to tx BA
session timeout clients that set a timeout in their AddBA response to our
request, even if our request is without a timeout.
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Link: https://lore.kernel.org/r/7c3f72eac1c34921cd84a462e60d71e125862152.1676616450.git.ryder.lee@mediatek.com
[slightly clarify commit message, add note about RCU]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 3a43ce5fd4ec..722b99e54ad2 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h @@ -5974,6 +5974,20 @@ void ieee80211_queue_delayed_work(struct ieee80211_hw *hw, unsigned long delay); /** + * ieee80211_refresh_tx_agg_session_timer - Refresh a tx agg session timer. + * @sta: the station for which to start a BA session + * @tid: the TID to BA on. + * + * This function allows low level driver to refresh tx agg session timer + * to maintain BA session, the session level will still be managed by the + * mac80211. + * + * Note: must be called in an RCU critical section. + */ +void ieee80211_refresh_tx_agg_session_timer(struct ieee80211_sta *sta, + u16 tid); + +/** * ieee80211_start_tx_ba_session - Start a tx Block Ack session. * @sta: the station for which to start a BA session * @tid: the TID to BA on. |