summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaveen Rawat <naveenrawat@codeaurora.org>2016-12-01 16:41:42 -0800
committerqcabuildsw <qcabuildsw@localhost>2016-12-02 18:03:15 -0800
commit27833e3a8d4e63a2195d3b7d33c8c72ed8695dda (patch)
tree0e4388eb8d7cf5f002c40cfe720fb832909ecbce
parent026277cf2d14baca48884b31616651498a8743c8 (diff)
qcacld-3.0: Update per session uapsd mask in sme after ADD TS rsp
In function sme_set_tspec_uapsd_mask_per_session update uapsd_per_ac_bit_mask as per the values received from ADD TS response. Otherwise, ini change if 0 will always override ADD TS response values. Change-Id: Ie834f651bb097c084c81c6ebc9c8637f96d7a075 CRs-Fixed: 1096829
-rw-r--r--core/sme/src/common/sme_power_save.c2
-rw-r--r--core/sme/src/qos/sme_qos.c7
2 files changed, 5 insertions, 4 deletions
diff --git a/core/sme/src/common/sme_power_save.c b/core/sme/src/common/sme_power_save.c
index f5f488a64c25..493a9451e75c 100644
--- a/core/sme/src/common/sme_power_save.c
+++ b/core/sme/src/common/sme_power_save.c
@@ -611,6 +611,7 @@ void sme_set_tspec_uapsd_mask_per_session(tpAniSirGlobal mac_ctx,
*/
ac = ((~ac) & 0x3);
if (ts_info->traffic.psb) {
+ ps_param->uapsd_per_ac_bit_mask |= (1 << ac);
if (direction == SIR_MAC_DIRECTION_UPLINK)
ps_param->uapsd_per_ac_trigger_enable_mask |=
(1 << ac);
@@ -624,6 +625,7 @@ void sme_set_tspec_uapsd_mask_per_session(tpAniSirGlobal mac_ctx,
(1 << ac);
}
} else {
+ ps_param->uapsd_per_ac_bit_mask &= ~(1 << ac);
if (direction == SIR_MAC_DIRECTION_UPLINK)
ps_param->uapsd_per_ac_trigger_enable_mask &=
~(1 << ac);
diff --git a/core/sme/src/qos/sme_qos.c b/core/sme/src/qos/sme_qos.c
index 5f8a2f172fc1..1bb72caf9667 100644
--- a/core/sme/src/qos/sme_qos.c
+++ b/core/sme/src/qos/sme_qos.c
@@ -5501,6 +5501,9 @@ QDF_STATUS sme_qos_process_add_ts_success_rsp(tpAniSirGlobal pMac,
pACInfo->curr_QoSInfo[tspec_pending - 1].medium_time =
pRsp->tspec.mediumTime;
+ sme_set_tspec_uapsd_mask_per_session(pMac,
+ &pRsp->tspec.tsinfo, sessionId);
+
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_INFO_HIGH,
"%s: %d: On session %d AddTspec Medium Time %d",
__func__, __LINE__, sessionId, pRsp->tspec.mediumTime);
@@ -5619,12 +5622,8 @@ QDF_STATUS sme_qos_process_add_ts_success_rsp(tpAniSirGlobal pMac,
sme_qos_state_transition(sessionId, ac, SME_QOS_QOS_ON);
- sme_set_tspec_uapsd_mask_per_session(pMac,
- &pRsp->tspec.tsinfo, sessionId);
-
(void)sme_qos_process_buffered_cmd(sessionId);
return QDF_STATUS_SUCCESS;
-
}
/*--------------------------------------------------------------------------