summaryrefslogtreecommitdiff
path: root/include/net
diff options
context:
space:
mode:
authorNaftali Goldstein <naftali.goldstein@intel.com>2017-07-11 10:07:25 +0300
committerLuca Coelho <luciano.coelho@intel.com>2017-08-09 09:49:42 +0300
commit04c2cf34362f133be09878bd752f8b014318b59a (patch)
tree9264948ab2cbe6e07eb4fe5ecdd8867a15e865c5 /include/net
parenta600852a9d00be08c539307a42729fd46b0a654e (diff)
downloadlinux-04c2cf34362f133be09878bd752f8b014318b59a.tar.xz
mac80211: add api to start ba session timer expired flow
Some drivers handle rx buffer reordering internally (and by extension handle also the rx ba session timer internally), but do not ofload the addba/delba negotiation. Add an api for these drivers to properly tear-down the ba session, including sending a delba. Signed-off-by: Naftali Goldstein <naftali.goldstein@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/mac80211.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index b2b5419467cc..f8149ca192b4 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -5499,6 +5499,21 @@ static inline void ieee80211_stop_rx_ba_session_offl(struct ieee80211_vif *vif,
ieee80211_manage_rx_ba_offl(vif, addr, tid + IEEE80211_NUM_TIDS);
}
+/**
+ * ieee80211_rx_ba_timer_expired - stop a Rx BA session due to timeout
+ *
+ * Some device drivers do not offload AddBa/DelBa negotiation, but handle rx
+ * buffer reording internally, and therefore also handle the session timer.
+ *
+ * Trigger the timeout flow, which sends a DelBa.
+ *
+ * @vif: &struct ieee80211_vif pointer from the add_interface callback
+ * @addr: station mac address
+ * @tid: the rx tid
+ */
+void ieee80211_rx_ba_timer_expired(struct ieee80211_vif *vif,
+ const u8 *addr, unsigned int tid);
+
/* Rate control API */
/**