mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 07:37:31 -04:00
qcacld-3.0: Set unicast key followed by broadcast key in FILS case
Host driver sets broadcast keys followed by unicast keys for FILS connection. This results in the data packet sent before unicast set key and peer pn was reset. Sending broadcast keys first will allow firmware to enable WAL_PEER_ALLOW_DATA and data tx could start without unicast keys being set. Due to this TX packet will go unencrypted and TX will fail without ACK from peer AP, peer pn will be set to 2, after this unicast key got set and this resets the peer pn to 1. And when next frame TX was done, pn check failed and firmware assert occured. Set the unicast keys to firmware first followed by the broadcast keys for FILS case. Change-Id: Ia498709ac524e95b831cc7ccdd17e6fc7ae0b130 CRs-Fixed: 2633632
This commit is contained in:
parent
34040b2668
commit
6bfeae6ae4
1 changed files with 9 additions and 9 deletions
|
|
@ -7586,15 +7586,6 @@ static void csr_process_fils_join_rsp(struct mac_context *mac_ctx,
|
|||
goto process_fils_join_rsp_fail;
|
||||
}
|
||||
|
||||
status = csr_issue_set_context_req_helper(mac_ctx, profile,
|
||||
session_id, &bss_desc->bssId, true, false,
|
||||
eSIR_RX_ONLY, 2, roam_info->fils_join_rsp->gtk_len,
|
||||
roam_info->fils_join_rsp->gtk);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
sme_err("Set context for bcast fail");
|
||||
goto process_fils_join_rsp_fail;
|
||||
}
|
||||
|
||||
status = csr_issue_set_context_req_helper(mac_ctx, profile,
|
||||
session_id, &bss_desc->bssId, true,
|
||||
true, eSIR_TX_RX, 0,
|
||||
|
|
@ -7604,6 +7595,15 @@ static void csr_process_fils_join_rsp(struct mac_context *mac_ctx,
|
|||
sme_err("Set context for unicast fail");
|
||||
goto process_fils_join_rsp_fail;
|
||||
}
|
||||
|
||||
status = csr_issue_set_context_req_helper(mac_ctx, profile,
|
||||
session_id, &bss_desc->bssId, true, false,
|
||||
eSIR_RX_ONLY, 2, roam_info->fils_join_rsp->gtk_len,
|
||||
roam_info->fils_join_rsp->gtk);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
sme_err("Set context for bcast fail");
|
||||
goto process_fils_join_rsp_fail;
|
||||
}
|
||||
return;
|
||||
|
||||
process_fils_join_rsp_fail:
|
||||
|
|
|
|||
Loading…
Reference in a new issue