summaryrefslogtreecommitdiff
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
authorRyder Lee <ryder.lee@mediatek.com>2023-02-18 01:50:05 +0800
committerJohannes Berg <johannes.berg@intel.com>2023-03-07 11:01:27 +0100
commit5383bfff5261422f843de72a4089da9b152291b0 (patch)
tree1131ab01a6b40f99d192d6cb799ef991dfbce098 /include/net/mac80211.h
parent9179dff82598ab8b4e88dcc93c9e26a2594efd1a (diff)
downloadlwn-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.h14
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.