diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2017-11-09 22:29:49 -0500 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2017-11-09 22:29:49 -0500 |
commit | 9c8be6d4d1ae652f23232f7c7125d1de884e1328 (patch) | |
tree | b14d7acbbbc85cf2d6aacb73d9c32176a37bf95a | |
parent | f585556e8b858c73f719d86fadae5628b6c17bda (diff) | |
download | longterm-queue-4.8-9c8be6d4d1ae652f23232f7c7125d1de884e1328.tar.gz |
wlcore: 4.8.x has no max_rx_aggregation_subframes
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r-- | queue/series | 2 | ||||
-rw-r--r-- | queue/wlcore-Add-RX_BA_WIN_SIZE_CHANGE_EVENT-event.patch | 86 | ||||
-rw-r--r-- | queue/wlcore-Pass-win_size-taken-from-ieee80211_sta-to-FW.patch | 82 |
3 files changed, 0 insertions, 170 deletions
diff --git a/queue/series b/queue/series index fed586a..020c57e 100644 --- a/queue/series +++ b/queue/series @@ -135,8 +135,6 @@ bnxt_en-allocate-enough-space-for-ntp_fltr_bmap.patch bpf-don-t-let-ldimm64-leak-map-addresses-on-unprivil.patch net-mdio-mux-bcm-iproc-call-mdiobus_free-in-error-pa.patch f2fs-sanity-check-segment-count.patch -wlcore-Pass-win_size-taken-from-ieee80211_sta-to-FW.patch -wlcore-Add-RX_BA_WIN_SIZE_CHANGE_EVENT-event.patch drm-ttm-fix-use-after-free-races-in-vm-fault-handlin.patch block-get-rid-of-blk_integrity_revalidate.patch target-Fix-compare_and_write_callback-handling-for-n.patch diff --git a/queue/wlcore-Add-RX_BA_WIN_SIZE_CHANGE_EVENT-event.patch b/queue/wlcore-Add-RX_BA_WIN_SIZE_CHANGE_EVENT-event.patch deleted file mode 100644 index dee95f9..0000000 --- a/queue/wlcore-Add-RX_BA_WIN_SIZE_CHANGE_EVENT-event.patch +++ /dev/null @@ -1,86 +0,0 @@ -From e7ee74b56f23ba447d3124f2eccc32033cca501d Mon Sep 17 00:00:00 2001 -From: Maxim Altshul <maxim.altshul@ti.com> -Date: Sun, 21 Aug 2016 14:24:25 +0300 -Subject: [PATCH] wlcore: Add RX_BA_WIN_SIZE_CHANGE_EVENT event - -commit e7ee74b56f23ba447d3124f2eccc32033cca501d upstream. - -This event is used by the Firmware to limit the RX BA win size -for a specific link. - -The event handler updates the new size in the mac's sta->sta struct. - -BA sessions opened for that link will use the new restricted -win_size. This limitation remains until a new update is received or -until the link is closed. - -Signed-off-by: Maxim Altshul <maxim.altshul@ti.com> -Signed-off-by: Kalle Valo <kvalo@codeaurora.org> - -diff --git a/drivers/net/wireless/ti/wl18xx/event.c b/drivers/net/wireless/ti/wl18xx/event.c -index b36ce185c9f2..86fa0fc69084 100644 ---- a/drivers/net/wireless/ti/wl18xx/event.c -+++ b/drivers/net/wireless/ti/wl18xx/event.c -@@ -218,5 +218,33 @@ int wl18xx_process_mailbox_events(struct wl1271 *wl) - if (vector & FW_LOGGER_INDICATION) - wlcore_event_fw_logger(wl); - -+ if (vector & RX_BA_WIN_SIZE_CHANGE_EVENT_ID) { -+ struct wl12xx_vif *wlvif; -+ struct ieee80211_vif *vif; -+ struct ieee80211_sta *sta; -+ u8 link_id = mbox->rx_ba_link_id; -+ u8 win_size = mbox->rx_ba_win_size; -+ const u8 *addr; -+ -+ wlvif = wl->links[link_id].wlvif; -+ vif = wl12xx_wlvif_to_vif(wlvif); -+ -+ /* Update RX aggregation window size and call -+ * MAC routine to stop active RX aggregations for this link -+ */ -+ if (wlvif->bss_type != BSS_TYPE_AP_BSS) -+ addr = vif->bss_conf.bssid; -+ else -+ addr = wl->links[link_id].addr; -+ -+ sta = ieee80211_find_sta(vif, addr); -+ if (sta) { -+ sta->max_rx_aggregation_subframes = win_size; -+ ieee80211_stop_rx_ba_session(vif, -+ wl->links[link_id].ba_bitmap, -+ addr); -+ } -+ } -+ - return 0; - } -diff --git a/drivers/net/wireless/ti/wl18xx/event.h b/drivers/net/wireless/ti/wl18xx/event.h -index ce8ea9c04052..4af297fbb529 100644 ---- a/drivers/net/wireless/ti/wl18xx/event.h -+++ b/drivers/net/wireless/ti/wl18xx/event.h -@@ -38,6 +38,7 @@ enum { - REMAIN_ON_CHANNEL_COMPLETE_EVENT_ID = BIT(18), - DFS_CHANNELS_CONFIG_COMPLETE_EVENT = BIT(19), - PERIODIC_SCAN_REPORT_EVENT_ID = BIT(20), -+ RX_BA_WIN_SIZE_CHANGE_EVENT_ID = BIT(21), - SMART_CONFIG_SYNC_EVENT_ID = BIT(22), - SMART_CONFIG_DECODE_EVENT_ID = BIT(23), - TIME_SYNC_EVENT_ID = BIT(24), -diff --git a/drivers/net/wireless/ti/wl18xx/main.c b/drivers/net/wireless/ti/wl18xx/main.c -index 06d6943b257c..5bdf7a03e3dd 100644 ---- a/drivers/net/wireless/ti/wl18xx/main.c -+++ b/drivers/net/wireless/ti/wl18xx/main.c -@@ -1041,7 +1041,8 @@ static int wl18xx_boot(struct wl1271 *wl) - SMART_CONFIG_SYNC_EVENT_ID | - SMART_CONFIG_DECODE_EVENT_ID | - TIME_SYNC_EVENT_ID | -- FW_LOGGER_INDICATION; -+ FW_LOGGER_INDICATION | -+ RX_BA_WIN_SIZE_CHANGE_EVENT_ID; - - wl->ap_event_mask = MAX_TX_FAILURE_EVENT_ID; - --- -2.12.0 - diff --git a/queue/wlcore-Pass-win_size-taken-from-ieee80211_sta-to-FW.patch b/queue/wlcore-Pass-win_size-taken-from-ieee80211_sta-to-FW.patch deleted file mode 100644 index b4bf3ac..0000000 --- a/queue/wlcore-Pass-win_size-taken-from-ieee80211_sta-to-FW.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 42c7372a111630dab200c2f959424f5ec3bf79a4 Mon Sep 17 00:00:00 2001 -From: Maxim Altshul <maxim.altshul@ti.com> -Date: Sun, 21 Aug 2016 14:24:24 +0300 -Subject: [PATCH] wlcore: Pass win_size taken from ieee80211_sta to FW - -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. - -Signed-off-by: Maxim Altshul <maxim.altshul@ti.com> -Signed-off-by: Kalle Valo <kvalo@codeaurora.org> - -diff --git a/drivers/net/wireless/ti/wlcore/acx.c b/drivers/net/wireless/ti/wlcore/acx.c -index 26cc23f32241..a4859993db3c 100644 ---- a/drivers/net/wireless/ti/wlcore/acx.c -+++ b/drivers/net/wireless/ti/wlcore/acx.c -@@ -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(struct wl1271 *wl, u8 tid_index, - 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, -diff --git a/drivers/net/wireless/ti/wlcore/acx.h b/drivers/net/wireless/ti/wlcore/acx.h -index 6321ed472891..f46d7fdf9a00 100644 ---- a/drivers/net/wireless/ti/wlcore/acx.h -+++ b/drivers/net/wireless/ti/wlcore/acx.h -@@ -1113,7 +1113,8 @@ int wl1271_acx_set_ht_information(struct wl1271 *wl, - int 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, -diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c -index 471521a0db7b..5438975c7ff2 100644 ---- a/drivers/net/wireless/ti/wlcore/main.c -+++ b/drivers/net/wireless/ti/wlcore/main.c -@@ -5285,7 +5285,9 @@ static int wl1271_op_ampdu_action(struct ieee80211_hw *hw, - } - - 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++; -@@ -5306,7 +5308,7 @@ static int wl1271_op_ampdu_action(struct ieee80211_hw *hw, - } - - 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--; --- -2.12.0 - |