diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index faf9b032fc7d..d4c39e4ef4b2 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -12075,16 +12075,16 @@ static ePhyChanBondState csr_get_cb_mode_from_ies(tpAniSirGlobal pMac, return PHY_SINGLE_CHANNEL_CENTERED; } - /* Check set as TKIP or not. */ - if (((NULL != &(pIes->RSN.pwise_cipher_suites[0][0]) && - (pIes->RSN.pwise_cipher_suite_count == 1)) && + /* In Case WPA2 and TKIP is the only one cipher suite in Pairwise */ + if ((pIes->RSN.present && (pIes->RSN.pwise_cipher_suite_count == 1) && !memcmp(&(pIes->RSN.pwise_cipher_suites[0][0]), - "\x00\x0f\xac\x02", 4)) - || (((NULL != &(pIes->WPA)) && - (pIes->WPA.unicast_cipher_count == 1)) - && ((NULL != &(pIes->WPA.unicast_ciphers[0])) - && !memcmp(&(pIes->WPA.unicast_ciphers[0]), - "\x00\x50\xf2\x02", 4)))) { + "\x00\x0f\xac\x02", 4)) + /* In Case WPA1 and TKIP is the only one cipher suite + * in Unicast. + */ + || (pIes->WPA.present && (pIes->WPA.unicast_cipher_count == 1) + && !memcmp(&(pIes->WPA.unicast_ciphers[0][0]), + "\x00\x50\xf2\x02", 4))) { sms_log(pMac, LOGW, " No channel bonding in TKIP mode "); return PHY_SINGLE_CHANNEL_CENTERED;