summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
-
}
/*--------------------------------------------------------------------------