[Xenial SRU][PATCH 3/4] UBUNTU: SAUCE: Redpine: fix data issue with non-uapsd APs

Amitkumar Karwar amitkarwar at gmail.com
Tue Jan 9 10:14:08 UTC 2018


From: Prameela Rani Garnepudi <prameela.j04cs at gmail.com>

BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1742090
BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1742094

UAPSD parameter configuration in power save request should be
under UAPSD bitmap check. Otherwise data block issue occurs
with non-UAPSD APs .

Signed-off-by: Prameela Rani Garnepudi <prameela.j04cs at gmail.com>
Signed-off-by: Amitkumar Karwar <amit.karwar at redpinesignals.com>
---
 ubuntu/rsi/rsi_91x_mgmt.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/ubuntu/rsi/rsi_91x_mgmt.c b/ubuntu/rsi/rsi_91x_mgmt.c
index 94fadc7..8a18c67 100644
--- a/ubuntu/rsi/rsi_91x_mgmt.c
+++ b/ubuntu/rsi/rsi_91x_mgmt.c
@@ -2100,6 +2100,11 @@ int rsi_send_ps_request(struct rsi_hw *adapter, bool enable)
 	if (common->uapsd_bitmap) {
 //		ps->ps_mimic_support = 1;
 		ps->ps_uapsd_acs = common->uapsd_bitmap;
+		ps->ps_uapsd_acs = (adapter->hw->uapsd_max_sp_len <<
+				    IEEE80211_WMM_IE_STA_QOSINFO_SP_SHIFT) |
+				    IEEE80211_WMM_IE_STA_QOSINFO_AC_MASK;
+		ps->ps_uapsd_wakeup_period = RSI_UAPSD_WAKEUP_PERIOD;
+
 	}
 
 	ps->ps_sleep.sleep_type = ps_info->sleep_type;
@@ -2119,11 +2124,6 @@ int rsi_send_ps_request(struct rsi_hw *adapter, bool enable)
 	if (ps->ps_listen_interval > ps->ps_dtim_interval_duration)
 		ps->ps_listen_interval = 0;
 
-	ps->ps_uapsd_acs = (adapter->hw->uapsd_max_sp_len <<
-			    IEEE80211_WMM_IE_STA_QOSINFO_SP_SHIFT) |
-			    IEEE80211_WMM_IE_STA_QOSINFO_AC_MASK;
-	ps->ps_uapsd_wakeup_period = RSI_UAPSD_WAKEUP_PERIOD;
-
 	skb_put(skb, frame_len);
 
 	return rsi_send_internal_mgmt_frame(common, skb);
-- 
2.7.4





More information about the kernel-team mailing list