Patch "wlcore: Pass win_size taken from ieee80211_sta to FW" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
wlcore: Pass win_size taken from ieee80211_sta to FW
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
wlcore-pass-win_size-taken-from-ieee80211_sta-to-fw.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
42c7372a111630dab200c2f959424f5ec3bf79a4Mon Sep 17 00:00:00 2001
From: Maxim Altshul <[email protected]>
Date: Sun, 21 Aug 2016 14:24:24 +0300
Subject: wlcore: Pass win_size taken from ieee80211_sta to FW
From: Maxim Altshul <[email protected]>
commit 42c7372a111630dab200c2f959424f5ec3bf79a4 upstream.
When starting a new BA session, we must pass the win_size to the FW.
To do this we take max_rx_aggregation_subframes (BA RX win size) which is stored in ieee80211_sta structure (e.g per link and not per HW)
We will use the value stored per link when passing the win_size to firmware through the ACX_BA_SESSION_RX_SETUP command.
--- drivers/net/wireless/ti/wlcore/acx.c | 5 +++-- drivers/net/wireless/ti/wlcore/acx.h | 3 ++- drivers/net/wireless/ti/wlcore/main.c | 6 ++++-- 3 files changed, 9 insertions(+), 5 deletions(-)
drivers/net/wireless/ti/wlcore/acx.c +3 -2
@@ -1419,7 +1419,8 @@ out:/* setup BA session receiver setting in the FW. */ int wl12xx_acx_set_ba_receiver_session (struct wl1271 *wl,u8 tid_index, -u16 ssn,bool enable,u8 peer_hlid) +u16 ssn,bool enable,u8 peer_hlid, +u8 win_size) {struct wl1271_acx_ba_receiver_setup *acx;int ret;
@@ -1435,7 +1436,7 @@ int wl12xx_acx_set_ba_receiver_session(s acx->hlid = peer_hlid; acx->tid = tid_index; acx->enable = enable; - acx->win_size = wl->conf.ht.rx_ba_win_size; + acx->win_size = win_size; acx->ssn = ssn; ret = wlcore_cmd_configure_failsafe(wl, ACX_BA_SESSION_RX_SETUP, acx,
drivers/net/wireless/ti/wlcore/acx.h +2 -1
@@ -1112,7 +1112,8 @@ int wl1271_acx_set_ht_information(structint wl12xx_acx_set_ba_initiator_policy (struct wl1271 *wl,struct wl12xx_vif *wlvif);int wl12xx_acx_set_ba_receiver_session (struct wl1271 *wl,u8 tid_index, -u16 ssn,bool enable,u8 peer_hlid); +u16 ssn,bool enable,u8 peer_hlid, +u8 win_size);int wl12xx_acx_tsf_info (struct wl1271 *wl,struct wl12xx_vif *wlvif,u64 *mactime); int wl1271_acx_ps_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/main.c +4 -2
@@ -5328,7 +5328,9 @@ static int wl1271_op_ampdu_action(struct } ret =wl12xx_acx_set_ba_receiver_session (wl, tid, *ssn, true, - hlid); + hlid, + params->buf_size); +if (!ret) { *ba_bitmap |=BIT (tid); wl->ba_rx_session_count++;
@@ -5349,7 +5351,7 @@ static int wl1271_op_ampdu_action(struct } ret =wl12xx_acx_set_ba_receiver_session (wl, tid,0 , false, - hlid); + hlid,0 );if (!ret) { *ba_bitmap &= ~BIT (tid); wl->ba_rx_session_count--;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/mac80211-rx-ba-support-for-sta-max_rx_aggregation_subframes.patch queue-4.4/wlcore-add-rx_ba_win_size_change_event-event.patch queue-4.4/wlcore-pass-win_size-taken-from-ieee80211_sta-to-fw.patch