mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 00:00:00 -04:00
qcacld-3.0: send correct status code when WEP AUTH fail
qcacld-2.0 to qcacld-3.0 propagation With invalid WEP password, some APs reply AUTH frame 4 with invalid seqNumber. This AUTH frame will be dropped by driver, then driver sends the generic status code instead of protocol status code. As a workaround, assign the seqNumber=4 for AUTH frame 4, which ensures driver to send correct status code when WEP AUTH fail. Change-Id: I2fc96f0c253cf639d730d59d567be50bca51bd0b CRs-Fixed: 947898
This commit is contained in:
parent
437c921a8f
commit
9b755ef5f5
1 changed files with 22 additions and 0 deletions
|
|
@ -1348,6 +1348,28 @@ lim_process_auth_frame(tpAniSirGlobal mac_ctx, uint8_t *rx_pkt_info,
|
|||
(uint32_t) rx_auth_frm_body->authStatusCode,
|
||||
(uint32_t) mac_ctx->lim.gLimNumPreAuthContexts);
|
||||
|
||||
/*
|
||||
* IOT Workaround: with invalid WEP key, some APs reply
|
||||
* AuthFrame 4 with invalid seqNumber. This AuthFrame
|
||||
* will be dropped by driver, thus driver sends the
|
||||
* generic status code instead of protocol status code.
|
||||
* As a workaround, override AuthFrame 4's seqNumber.
|
||||
*/
|
||||
if ((pe_session->limMlmState ==
|
||||
eLIM_MLM_WT_AUTH_FRAME4_STATE) &&
|
||||
(rx_auth_frm_body->authTransactionSeqNumber !=
|
||||
SIR_MAC_AUTH_FRAME_1) &&
|
||||
(rx_auth_frm_body->authTransactionSeqNumber !=
|
||||
SIR_MAC_AUTH_FRAME_2) &&
|
||||
(rx_auth_frm_body->authTransactionSeqNumber !=
|
||||
SIR_MAC_AUTH_FRAME_3)) {
|
||||
lim_log(mac_ctx, LOGW,
|
||||
FL("Override AuthFrame 4's seqNumber to 4."));
|
||||
rx_auth_frm_body->authTransactionSeqNumber =
|
||||
SIR_MAC_AUTH_FRAME_4;
|
||||
}
|
||||
|
||||
|
||||
switch (rx_auth_frm_body->authTransactionSeqNumber) {
|
||||
case SIR_MAC_AUTH_FRAME_1:
|
||||
lim_process_auth_frame_type1(mac_ctx,
|
||||
|
|
|
|||
Loading…
Reference in a new issue