From 465560671bf417aaaa1adf9e97baac33fcb75e34 Mon Sep 17 00:00:00 2001 From: Sushant Kaushik Date: Wed, 2 Dec 2015 16:57:47 +0530 Subject: [PATCH] qcacld-3.0: Set peer staId for management frame. qcacld-2.0 to qcacld-3.0 propagation Currently for sta mode while sending management frames such as auth, assoc, reasssoc,deauth, diassoc driver sends selfStaId. This results in frames going on the air with the self data rate and not the data rate supported by peer. As a part of fix, make sure that the peerStaId is used for sending above management frames. Change-Id: Ia368ff13aed1002600f5fb3ad55c3d20106d586a CRs-Fixed: 826260 --- .../src/pe/lim/lim_send_management_frames.c | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) 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 80bd967983ad..50884de03e6f 100644 --- a/core/mac/src/pe/lim/lim_send_management_frames.c +++ b/core/mac/src/pe/lim/lim_send_management_frames.c @@ -1930,7 +1930,8 @@ lim_send_assoc_req_mgmt_frame(tpAniSirGlobal mac_ctx, ) tx_flag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; - if (pe_session->pePersona == CDF_P2P_CLIENT_MODE) + if (pe_session->pePersona == CDF_P2P_CLIENT_MODE || + pe_session->pePersona == CDF_STA_MODE) tx_flag |= HAL_USE_PEER_STA_REQUESTED_MASK; #ifdef FEATURE_WLAN_DIAG_SUPPORT @@ -2710,9 +2711,9 @@ lim_send_reassoc_req_mgmt_frame(tpAniSirGlobal pMac, txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } - if (psessionEntry->pePersona == CDF_P2P_CLIENT_MODE) { + if (psessionEntry->pePersona == CDF_P2P_CLIENT_MODE || + psessionEntry->pePersona == CDF_STA_MODE) txFlag |= HAL_USE_PEER_STA_REQUESTED_MASK; - } #ifdef FEATURE_WLAN_DIAG_SUPPORT lim_diag_event_report(pMac, WLAN_PE_DIAG_REASSOC_START_EVENT, @@ -3015,10 +3016,10 @@ lim_send_auth_mgmt_frame(tpAniSirGlobal mac_ctx, tx_flag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; - if (session->pePersona == CDF_P2P_CLIENT_MODE) + if (session->pePersona == CDF_P2P_CLIENT_MODE || + session->pePersona == CDF_STA_MODE) tx_flag |= HAL_USE_PEER_STA_REQUESTED_MASK; - MTRACE(cdf_trace(CDF_MODULE_ID_PE, TRACE_CODE_TX_MGMT, session->peSessionId, mac_hdr->fc.subType)); /* Queue Authentication frame in high priority WQ */ @@ -3345,10 +3346,7 @@ lim_send_disassoc_mgmt_frame(tpAniSirGlobal pMac, txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } - if ((psessionEntry->pePersona == CDF_P2P_CLIENT_MODE) || - (psessionEntry->pePersona == CDF_P2P_GO_MODE)) { - txFlag |= HAL_USE_PEER_STA_REQUESTED_MASK; - } + txFlag |= HAL_USE_PEER_STA_REQUESTED_MASK; if (waitForAck) { MTRACE(cdf_trace(CDF_MODULE_ID_PE, TRACE_CODE_TX_MGMT, @@ -3525,10 +3523,7 @@ lim_send_deauth_mgmt_frame(tpAniSirGlobal pMac, txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } - if ((psessionEntry->pePersona == CDF_P2P_CLIENT_MODE) || - (psessionEntry->pePersona == CDF_P2P_GO_MODE)) { - txFlag |= HAL_USE_PEER_STA_REQUESTED_MASK; - } + txFlag |= HAL_USE_PEER_STA_REQUESTED_MASK; #ifdef FEATURE_WLAN_TDLS pStaDs = dph_lookup_hash_entry(pMac, peer, &aid,