From adb08a35c2774ef22e3053ad68de34ddfa9db7af Mon Sep 17 00:00:00 2001 From: Jingxiang Ge Date: Mon, 16 Aug 2021 10:27:41 +0800 Subject: [PATCH] qcacld-3.0: continue connection even BSSType mismatch This happens in roaming case, even bsstype is mismating we allow it to continue, which is to avoid serialization cmd without dequeue issue. Change-Id: I17f4c8e71769c42f3e7747e6095645c9683753ad CRs-Fixed: 3015332 --- core/sme/src/csr/csr_api_roam.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 4407c676a5e4..3161f231cd39 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -9189,20 +9189,26 @@ csr_roaming_state_config_cnf_processor(struct mac_context *mac_ctx, if (!scan_result) { /* If we are roaming TO an Infrastructure BSS... */ QDF_ASSERT(scan_result); + csr_roam_complete(mac_ctx, eCsrJoinFailure, NULL, vdev_id); return; } if (!csr_is_infra_bss_desc(bss_desc)) { sme_warn("found BSSType mismatching the one in BSS descp"); - return; + /* here we allow the connection even if ess is not set. + * previously it return directly which cause serialization cmd + * timeout. + */ } local_ies = (tDot11fBeaconIEs *) scan_result->Result.pvIes; if (!local_ies) { status = csr_get_parsed_bss_description_ies(mac_ctx, bss_desc, &local_ies); - if (!QDF_IS_STATUS_SUCCESS(status)) + if (!QDF_IS_STATUS_SUCCESS(status)) { + csr_roam(mac_ctx, cmd, false); return; + } is_ies_malloced = true; }