فهرست منبع

qcacld-3.0: Populate correct channel to filter rrm scan result

The host driver start scan request on channels in the operating
class requested in the beacon report request. Starting from first
channel all channels are scanned one after another. The scan
request is sent in correct order of the channels in operating
class, but when filtering the scan results from the scan db, the
channel freqency is not indexed properly so first channel is sent
to the filter always. Due to this, always beacon report response
has only entries from first channel from the OP class.

Populate the correct channel frequency to filter the rrm scan
result.

Change-Id: I75461a4da99be9ef215f8c16258e0e21877fe362
CRs-Fixed: 2619363
Pragaspathi Thilagaraj 5 سال پیش
والد
کامیت
741b279e55
1فایلهای تغییر یافته به همراه4 افزوده شده و 4 حذف شده
  1. 4 4
      core/sme/src/rrm/sme_rrm.c

+ 4 - 4
core/sme/src/rrm/sme_rrm.c

@@ -688,7 +688,7 @@ static QDF_STATUS sme_rrm_scan_request_callback(mac_handle_t mac_handle,
 	ch_idx = pSmeRrmContext->currentIndex;
 	num_chan = pSmeRrmContext->channelList.numOfChannels;
 	if (((ch_idx + 1) < num_chan) && valid_result) {
-		sme_rrm_send_scan_result(mac, 1, freq_list, false);
+		sme_rrm_send_scan_result(mac, 1, &freq_list[ch_idx], false);
 		/* Advance the current index. */
 		pSmeRrmContext->currentIndex++;
 		/* start the timer to issue next request. */
@@ -712,7 +712,7 @@ static QDF_STATUS sme_rrm_scan_request_callback(mac_handle_t mac_handle,
 		/* Done with the measurement. Clean up all context and send a
 		 * message to PE with measurement done flag set.
 		 */
-		sme_rrm_send_scan_result(mac, 1, freq_list, true);
+		sme_rrm_send_scan_result(mac, 1, &freq_list[ch_idx], true);
 		qdf_mem_free(pSmeRrmContext->channelList.freq_list);
 		pSmeRrmContext->channelList.freq_list = NULL;
 		sme_reset_ese_bcn_req_in_progress(pSmeRrmContext);
@@ -925,7 +925,7 @@ static QDF_STATUS sme_rrm_issue_scan_req(struct mac_context *mac_ctx)
 		ch_idx = sme_rrm_ctx->currentIndex;
 		if ((ch_idx + 1) < sme_rrm_ctx->channelList.numOfChannels) {
 			sme_rrm_send_scan_result(mac_ctx, 1,
-						 freq_list, false);
+						 &freq_list[ch_idx], false);
 			/* Advance the current index. */
 			sme_rrm_ctx->currentIndex++;
 			sme_rrm_issue_scan_req(mac_ctx);
@@ -939,7 +939,7 @@ static QDF_STATUS sme_rrm_issue_scan_req(struct mac_context *mac_ctx)
 			 * send a message to PE with measurement done flag set.
 			 */
 			sme_rrm_send_scan_result(mac_ctx, 1,
-						 freq_list, true);
+						 &freq_list[ch_idx], true);
 			goto free_ch_lst;
 		}
 	}