From b228f09444bf0af10180e9bf010d61c31a1838fc Mon Sep 17 00:00:00 2001 From: Ravi Joshi Date: Thu, 4 May 2017 19:54:45 -0700 Subject: [PATCH] qcacld-3.0: Fix cds_mc_thread getting stuck in infinite loop A null IE in the bss entry was causing a busyloop in the cds-mc-thread. Change-Id: Ia8bc11f7ee31b2be48d6f1fd9cfb50bc6e49c0c3 CRs-Fixed: 2043510 --- core/sme/src/csr/csr_api_scan.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/sme/src/csr/csr_api_scan.c b/core/sme/src/csr/csr_api_scan.c index 382ad013c52f..ea915e97f0db 100644 --- a/core/sme/src/csr/csr_api_scan.c +++ b/core/sme/src/csr/csr_api_scan.c @@ -5874,8 +5874,12 @@ void csr_init_occupied_channels_list(tpAniSirGlobal mac_ctx, ie_ptr = (tDot11fBeaconIEs *) (bss_desc->Result.pvIes); if (!ie_ptr && !QDF_IS_STATUS_SUCCESS( csr_get_parsed_bss_description_ies(mac_ctx, - &bss_desc->Result.BssDescriptor, &ie_ptr))) + &bss_desc->Result.BssDescriptor, &ie_ptr))) { + /* Pick next bss entry before continuing */ + scan_entry = csr_ll_next(&scan_list->List, scan_entry, + LL_ACCESS_NOLOCK); continue; + } csr_scan_add_to_occupied_channels(mac_ctx, bss_desc, sessionId, &mac_ctx->scan.occupiedChannels[sessionId], ie_ptr, true);