diff --git a/core/sap/src/sap_api_link_cntl.c b/core/sap/src/sap_api_link_cntl.c index 699467fba6c8..e7b6bdb95a27 100644 --- a/core/sap/src/sap_api_link_cntl.c +++ b/core/sap/src/sap_api_link_cntl.c @@ -110,6 +110,11 @@ QDF_STATUS wlansap_scan_callback(tHalHandle hal_handle, if (sap_ctx->sapsMachine == eSAP_DISCONNECTED) { QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_WARN, "In %s BSS already stopped", __func__); + if (sap_ctx->channelList != NULL) { + qdf_mem_free(sap_ctx->channelList); + sap_ctx->channelList = NULL; + sap_ctx->num_of_channel = 0; + } return QDF_STATUS_E_FAILURE; } diff --git a/core/sap/src/sap_fsm.c b/core/sap/src/sap_fsm.c index 63db8eb4d711..7d90b1722be2 100644 --- a/core/sap/src/sap_fsm.c +++ b/core/sap/src/sap_fsm.c @@ -1835,6 +1835,11 @@ QDF_STATUS sap_goto_channel_sel(struct sap_context *sap_context, for (i = 0; i < num_of_channels; i++) req->scan_req.chan_list.chan[i].freq = wlan_chan_to_freq(channel_list[i]); + if (sap_context->channelList) { + qdf_mem_free(sap_context->channelList); + sap_context->channelList = NULL; + sap_context->num_of_channel = 0; + } sap_context->channelList = channel_list; sap_context->num_of_channel = num_of_channels; /* Set requestType to Full scan */