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
This commit is contained in:
Sushant Kaushik 2015-12-02 16:57:47 +05:30 committed by Akash Patel
parent 96bda8e0e3
commit 465560671b

View File

@ -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,