linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 1/2] mac80211: Stop BA session event from device
@ 2010-11-25 14:39 Shahar Levi
  2010-11-25 14:39 ` [RFC 2/2] wl12xx: " Shahar Levi
  2010-11-25 18:11 ` [RFC 1/2] mac80211: " Johannes Berg
  0 siblings, 2 replies; 8+ messages in thread
From: Shahar Levi @ 2010-11-25 14:39 UTC (permalink / raw)
  To: linux-wireless; +Cc: Luciano Coelho

The wl12xx device support BT/WLAN co-existence algorithm.
In order not to harm the system performance and user experience, the device may
request not to allow any RX BA session and tear down existing RX BA sessions
based on system constraints such as: For periodic BT activity limiting WLAN
activity - For example: SCO / A2DP.
In such cases, the intention is to limit the duration of the RX PPDU and
therefore prevent the peer device to use A-MPDU aggregation.

Adding new EXPORT_SYMBOL ieee80211_stop_rx_ba_session() in order
to support stop BA session event from device.

Signed-off-by: Shahar Levi <shahar_levi@ti.com>
---
 include/net/mac80211.h |    2 ++
 net/mac80211/agg-rx.c  |   10 ++++++++++
 2 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 5b0fff2..e6ab26d 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -2833,4 +2833,6 @@ ieee80211_vif_type_p2p(struct ieee80211_vif *vif)
 	return ieee80211_iftype_p2p(vif->type, vif->p2p);
 }
 
+void ieee80211_stop_rx_ba_session(struct ieee80211_vif *vif, u16 tid,
+				  const u8 *addr);
 #endif /* MAC80211_H */
diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c
index 720b7a8..09f7cd9 100644
--- a/net/mac80211/agg-rx.c
+++ b/net/mac80211/agg-rx.c
@@ -99,6 +99,16 @@ void __ieee80211_stop_rx_ba_session(struct sta_info *sta, u16 tid,
 	mutex_unlock(&sta->ampdu_mlme.mtx);
 }
 
+void ieee80211_stop_rx_ba_session(struct ieee80211_vif *vif, u16 tid,
+				  const u8 *addr)
+{
+	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
+	struct sta_info *sta = sta_info_get(sdata, addr);
+
+	__ieee80211_stop_rx_ba_session(sta, tid, WLAN_BACK_INITIATOR, 0, true);
+}
+EXPORT_SYMBOL(ieee80211_stop_rx_ba_session);
+
 /*
  * After accepting the AddBA Request we activated a timer,
  * resetting it after each frame that arrives from the originator.
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-11-29 13:24 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-25 14:39 [RFC 1/2] mac80211: Stop BA session event from device Shahar Levi
2010-11-25 14:39 ` [RFC 2/2] wl12xx: " Shahar Levi
2010-11-29 12:53   ` Luciano Coelho
2010-11-29 12:55     ` Shahar Levi
2010-11-29 12:58       ` Luciano Coelho
2010-11-29 13:24         ` Shahar Levi
2010-11-25 18:11 ` [RFC 1/2] mac80211: " Johannes Berg
2010-11-25 18:35   ` Levi, Shahar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).