qcacmn: Handle invalid or unsupported AKM/unicast cipher

AP sets multiple AKM suites in RSN information of beacon
or unicast probe response. In case if the invalid or
unsupported AKM/unicast cipher suite present in the AKM
suite list, the driver detects it as wrong RSN IE and
drops it. This results Device driver doesn't send
authentication to initiate a connection to that AP even
one or more than one valid AKM suites present in RSN IE.

Ideally, the driver should able to initiate connection if
at least one AKM/unicast cipher is valid and supported in
AKM suite list.

Change-Id: I8ed525e3945e4e437d15b496c80b1ad2aef4cb65
CRs-Fixed: 2948248
这个提交包含在:
abhinav kumar
2021-05-18 19:25:31 +05:30
提交者 Madan Koyyalamudi
父节点 f9f324f168
当前提交 ecd3f845e7

查看文件

@@ -2797,9 +2797,8 @@ QDF_STATUS wlan_crypto_rsnie_check(struct wlan_crypto_params *crypto_params,
for (; n > 0; n--) {
w = wlan_crypto_rsn_suite_to_cipher(frm);
if (w < 0)
return QDF_STATUS_E_INVAL;
SET_UCAST_CIPHER(crypto_params, w);
if (w >= 0)
SET_UCAST_CIPHER(crypto_params, w);
frm += 4, len -= 4;
}
} else {
@@ -2828,9 +2827,8 @@ QDF_STATUS wlan_crypto_rsnie_check(struct wlan_crypto_params *crypto_params,
for (; n > 0; n--) {
w = wlan_crypto_rsn_suite_to_keymgmt(frm);
if (w < 0)
return QDF_STATUS_E_INVAL;
SET_KEY_MGMT(crypto_params, w);
if (w >= 0)
SET_KEY_MGMT(crypto_params, w);
frm += 4, len -= 4;
}
} else {