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; }