qcacld-3.0: Do not send WEP keys to firmware after roaming
LFR module in firmware copies WEP keys from old AP to new AP during roaming. Host driver should not install 0 length keys during roam sync indication processing. Change-Id: I002be0ab330a7161ca2554d9d423e8e1b2170e55 CRs-Fixed: 1096918
This commit is contained in:

committed by
qcabuildsw

parent
3107b75f2c
commit
f3287ef57b
@@ -19577,7 +19577,6 @@ void csr_roam_synch_callback(tpAniSirGlobal mac_ctx,
|
|||||||
tCsrRoamInfo *roam_info;
|
tCsrRoamInfo *roam_info;
|
||||||
tCsrRoamConnectedProfile *conn_profile = NULL;
|
tCsrRoamConnectedProfile *conn_profile = NULL;
|
||||||
sme_QosAssocInfo assoc_info;
|
sme_QosAssocInfo assoc_info;
|
||||||
struct qdf_mac_addr bcast_mac = QDF_MAC_ADDR_BROADCAST_INITIALIZER;
|
|
||||||
tpAddBssParams add_bss_params;
|
tpAddBssParams add_bss_params;
|
||||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||||
uint16_t len;
|
uint16_t len;
|
||||||
@@ -19687,29 +19686,20 @@ void csr_roam_synch_callback(tpAniSirGlobal mac_ctx,
|
|||||||
session->pCurRoamProfile->negotiatedAuthType,
|
session->pCurRoamProfile->negotiatedAuthType,
|
||||||
bss_desc, ies_local);
|
bss_desc, ies_local);
|
||||||
roam_info->isESEAssoc = conn_profile->isESEAssoc;
|
roam_info->isESEAssoc = conn_profile->isESEAssoc;
|
||||||
if (CSR_IS_ENC_TYPE_STATIC
|
|
||||||
(session->pCurRoamProfile->negotiatedUCEncryptionType) &&
|
/*
|
||||||
!session->pCurRoamProfile->bWPSAssociation) {
|
* Encryption keys for new connection are obtained as follows:
|
||||||
if (!QDF_IS_STATUS_SUCCESS(
|
* authStatus = CSR_ROAM_AUTH_STATUS_AUTHENTICATED
|
||||||
csr_roam_issue_set_context_req(mac_ctx,
|
* Open - No keys required.
|
||||||
session_id,
|
* Static WEP - Firmware copies keys from old AP to new AP.
|
||||||
session->pCurRoamProfile->negotiatedUCEncryptionType,
|
* Fast roaming authentications e.g. PSK, FT, CCKM - firmware
|
||||||
bss_desc,
|
* supplicant obtains them through 4-way handshake.
|
||||||
&(bss_desc->bssId),
|
*
|
||||||
false, true,
|
* authStatus = CSR_ROAM_AUTH_STATUS_CONNECTED
|
||||||
eSIR_TX_RX, 0, 0, NULL, 0))) {
|
* All other authentications - Host supplicant performs EAPOL
|
||||||
/* NO keys. these key parameters don't matter */
|
* with AP after this point and sends new keys to the driver.
|
||||||
sms_log(mac_ctx, LOGE,
|
* Driver starts wait_for_key timer for that purpose.
|
||||||
FL("Set context for unicast fail"));
|
*/
|
||||||
csr_roam_substate_change(mac_ctx,
|
|
||||||
eCSR_ROAM_SUBSTATE_NONE, session_id);
|
|
||||||
}
|
|
||||||
csr_roam_issue_set_context_req(mac_ctx, session_id,
|
|
||||||
session->pCurRoamProfile->negotiatedMCEncryptionType,
|
|
||||||
bss_desc,
|
|
||||||
&bcast_mac.bytes, false, false,
|
|
||||||
eSIR_TX_RX, 0, 0, NULL, 0);
|
|
||||||
}
|
|
||||||
if ((roam_synch_data->authStatus
|
if ((roam_synch_data->authStatus
|
||||||
== CSR_ROAM_AUTH_STATUS_AUTHENTICATED)) {
|
== CSR_ROAM_AUTH_STATUS_AUTHENTICATED)) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME,
|
QDF_TRACE(QDF_MODULE_ID_SME,
|
||||||
|
Reference in New Issue
Block a user