diff options
| author | Naveen Rawat <naveenrawat@codeaurora.org> | 2016-11-22 10:46:21 -0800 |
|---|---|---|
| committer | qcabuildsw <qcabuildsw@localhost> | 2016-11-29 16:06:58 -0800 |
| commit | 50f21628decbddaf06315f3c6f72d8e64f495aca (patch) | |
| tree | 6ad33b24f07e9109012ad909a228b7e6cc5b9109 | |
| parent | 871e9819451f324f794e2d64d356f898b60ed9bf (diff) | |
qcacld-3.0: Populate roam_request qos params from sme_session
While preparing roam_scan_offload_request in csr, populate QoS parameters
from current sme_session.
Change-Id: I8ec26b61babf15b622d2a96b304f068c15f78795
CRs-Fixed: 1092258
| -rw-r--r-- | core/mac/inc/ani_global.h | 7 | ||||
| -rw-r--r-- | core/mac/src/include/parser_api.h | 2 | ||||
| -rw-r--r-- | core/mac/src/pe/lim/lim_api.c | 1 | ||||
| -rw-r--r-- | core/mac/src/pe/lim/lim_send_frames_host_roam.c | 6 | ||||
| -rw-r--r-- | core/mac/src/pe/lim/lim_send_management_frames.c | 3 | ||||
| -rw-r--r-- | core/mac/src/sys/legacy/src/utils/src/parser_api.c | 10 | ||||
| -rw-r--r-- | core/sme/inc/csr_internal.h | 1 | ||||
| -rw-r--r-- | core/sme/src/csr/csr_api_roam.c | 13 | ||||
| -rw-r--r-- | core/wma/src/wma_scan_roam.c | 2 |
9 files changed, 19 insertions, 26 deletions
diff --git a/core/mac/inc/ani_global.h b/core/mac/inc/ani_global.h index 7c3397dc7dd7..0a3af0e4bf25 100644 --- a/core/mac/inc/ani_global.h +++ b/core/mac/inc/ani_global.h @@ -606,13 +606,6 @@ typedef struct sAniSirLim { /* UAPSD flag used on AP */ uint8_t gUapsdEnable; - /* Used on STA, this is a static UAPSD mask setting - * derived from SME_JOIN_REQ and SME_REASSOC_REQ. If a - * particular AC bit is set, it means the AC is both - * trigger enabled and delivery enabled. - */ - uint8_t gUapsdPerAcBitmask; - /* Used on STA for AC downgrade. This is a dynamic mask * setting which keep tracks of ACs being admitted. * If bit is set to 0: That partiular AC is not admitted diff --git a/core/mac/src/include/parser_api.h b/core/mac/src/include/parser_api.h index 839ab35acc0a..9e14af5e7745 100644 --- a/core/mac/src/include/parser_api.h +++ b/core/mac/src/include/parser_api.h @@ -680,7 +680,7 @@ populate_dot11f_qos_caps_ap(tpAniSirGlobal pMac, tpPESession psessionEntry); void -populate_dot11f_qos_caps_station(tpAniSirGlobal pMac, +populate_dot11f_qos_caps_station(tpAniSirGlobal pMac, tpPESession session, tDot11fIEQOSCapsStation *pDot11f); tSirRetStatus diff --git a/core/mac/src/pe/lim/lim_api.c b/core/mac/src/pe/lim/lim_api.c index 478868ab32b5..859dc822958a 100644 --- a/core/mac/src/pe/lim/lim_api.c +++ b/core/mac/src/pe/lim/lim_api.c @@ -234,7 +234,6 @@ static void __lim_init_vars(tpAniSirGlobal pMac) /* WMM Related Flag */ pMac->lim.gUapsdEnable = 0; - pMac->lim.gUapsdPerAcBitmask = 0; /* QoS-AC Downgrade: Initially, no AC is admitted */ pMac->lim.gAcAdmitMask[SIR_MAC_DIRECTION_UPLINK] = 0; diff --git a/core/mac/src/pe/lim/lim_send_frames_host_roam.c b/core/mac/src/pe/lim/lim_send_frames_host_roam.c index 2039955c7e17..2bf89e122f2b 100644 --- a/core/mac/src/pe/lim/lim_send_frames_host_roam.c +++ b/core/mac/src/pe/lim/lim_send_frames_host_roam.c @@ -161,7 +161,8 @@ void lim_send_reassoc_req_with_ft_ies_mgmt_frame(tpAniSirGlobal mac_ctx, } if (qos_enabled) - populate_dot11f_qos_caps_station(mac_ctx, &frm.QOSCapsStation); + populate_dot11f_qos_caps_station(mac_ctx, pe_session, + &frm.QOSCapsStation); populate_dot11f_ext_supp_rates(mac_ctx, POPULATE_DOT11F_RATES_OPERATIONAL, &frm.ExtSuppRates, @@ -624,7 +625,8 @@ void lim_send_reassoc_req_mgmt_frame(tpAniSirGlobal pMac, } if (fQosEnabled) - populate_dot11f_qos_caps_station(pMac, &frm.QOSCapsStation); + populate_dot11f_qos_caps_station(pMac, psessionEntry, + &frm.QOSCapsStation); populate_dot11f_ext_supp_rates(pMac, POPULATE_DOT11F_RATES_OPERATIONAL, &frm.ExtSuppRates, psessionEntry); diff --git a/core/mac/src/pe/lim/lim_send_management_frames.c b/core/mac/src/pe/lim/lim_send_management_frames.c index 9e4ba6c8cca6..8db860f6420f 100644 --- a/core/mac/src/pe/lim/lim_send_management_frames.c +++ b/core/mac/src/pe/lim/lim_send_management_frames.c @@ -1732,7 +1732,8 @@ lim_send_assoc_req_mgmt_frame(tpAniSirGlobal mac_ctx, } } if (qos_enabled) - populate_dot11f_qos_caps_station(mac_ctx, &frm->QOSCapsStation); + populate_dot11f_qos_caps_station(mac_ctx, pe_session, + &frm->QOSCapsStation); populate_dot11f_ext_supp_rates(mac_ctx, POPULATE_DOT11F_RATES_OPERATIONAL, &frm->ExtSuppRates, diff --git a/core/mac/src/sys/legacy/src/utils/src/parser_api.c b/core/mac/src/sys/legacy/src/utils/src/parser_api.c index 4ecc5eb2cdb7..a352ef763e5f 100644 --- a/core/mac/src/sys/legacy/src/utils/src/parser_api.c +++ b/core/mac/src/sys/legacy/src/utils/src/parser_api.c @@ -1552,7 +1552,7 @@ populate_dot11f_qos_caps_ap(tpAniSirGlobal pMac, } /* End PopulatedDot11fQOSCaps. */ void -populate_dot11f_qos_caps_station(tpAniSirGlobal pMac, +populate_dot11f_qos_caps_station(tpAniSirGlobal pMac, tpPESession pe_session, tDot11fIEQOSCapsStation *pDot11f) { uint32_t val = 0; @@ -1567,13 +1567,13 @@ populate_dot11f_qos_caps_station(tpAniSirGlobal pMac, if (pMac->lim.gUapsdEnable) { pDot11f->acbe_uapsd = - LIM_UAPSD_GET(ACBE, pMac->lim.gUapsdPerAcBitmask); + LIM_UAPSD_GET(ACBE, pe_session->gUapsdPerAcBitmask); pDot11f->acbk_uapsd = - LIM_UAPSD_GET(ACBK, pMac->lim.gUapsdPerAcBitmask); + LIM_UAPSD_GET(ACBK, pe_session->gUapsdPerAcBitmask); pDot11f->acvi_uapsd = - LIM_UAPSD_GET(ACVI, pMac->lim.gUapsdPerAcBitmask); + LIM_UAPSD_GET(ACVI, pe_session->gUapsdPerAcBitmask); pDot11f->acvo_uapsd = - LIM_UAPSD_GET(ACVO, pMac->lim.gUapsdPerAcBitmask); + LIM_UAPSD_GET(ACVO, pe_session->gUapsdPerAcBitmask); } pDot11f->present = 1; } /* End PopulatedDot11fQOSCaps. */ diff --git a/core/sme/inc/csr_internal.h b/core/sme/inc/csr_internal.h index c7db8fe155b8..5caf108b46ab 100644 --- a/core/sme/inc/csr_internal.h +++ b/core/sme/inc/csr_internal.h @@ -1002,6 +1002,7 @@ typedef struct tagCsrRoamSession { bool disable_hi_rssi; bool dhcp_done; uint8_t disconnect_reason; + uint8_t uapsd_mask; } tCsrRoamSession; typedef struct tagCsrRoamStruct { diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 4affbe198695..deea0524dd4e 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -13819,6 +13819,7 @@ QDF_STATUS csr_send_join_req_msg(tpAniSirGlobal pMac, uint32_t sessionId, FL("CSR PERSONA=%d CSR CbMode %d"), pProfile->csrPersona, pSession->bssParams.cbMode); csr_join_req->uapsdPerAcBitmask = pProfile->uapsd_mask; + pSession->uapsd_mask = pProfile->uapsd_mask; status = csr_get_rate_set(pMac, pProfile, (eCsrPhyMode) pProfile->phyMode, @@ -16789,14 +16790,10 @@ csr_update_roam_scan_offload_request(tpAniSirGlobal mac_ctx, SIR_BTK_KEY_LEN); } #endif - req_buf->AcUapsd.acbe_uapsd = - SIR_UAPSD_GET(ACBE, mac_ctx->lim.gUapsdPerAcBitmask); - req_buf->AcUapsd.acbk_uapsd = - SIR_UAPSD_GET(ACBK, mac_ctx->lim.gUapsdPerAcBitmask); - req_buf->AcUapsd.acvi_uapsd = - SIR_UAPSD_GET(ACVI, mac_ctx->lim.gUapsdPerAcBitmask); - req_buf->AcUapsd.acvo_uapsd = - SIR_UAPSD_GET(ACVO, mac_ctx->lim.gUapsdPerAcBitmask); + req_buf->AcUapsd.acbe_uapsd = SIR_UAPSD_GET(ACBE, session->uapsd_mask); + req_buf->AcUapsd.acbk_uapsd = SIR_UAPSD_GET(ACBK, session->uapsd_mask); + req_buf->AcUapsd.acvi_uapsd = SIR_UAPSD_GET(ACVI, session->uapsd_mask); + req_buf->AcUapsd.acvo_uapsd = SIR_UAPSD_GET(ACVO, session->uapsd_mask); } #endif /* WLAN_FEATURE_ROAM_OFFLOAD */ diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index 75e2a4488a6a..1e5066a7675d 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -805,7 +805,7 @@ QDF_STATUS wma_roam_scan_offload_mode(tp_wma_handle wma_handle, roam_req->assoc_ie.length); } - WMA_LOGE(FL("my_dbg: qos_caps: %d, qos_enabled: %d"), + WMA_LOGD(FL("qos_caps: %d, qos_enabled: %d"), params->roam_offload_params.qos_caps, params->roam_offload_params.qos_enabled); |
