瀏覽代碼

qcacld-3.0: Convert SME code legacy channel ID usage

Modify the following 2 APIs' code and parameters to use frequency
instead of channel ID:
   sme_get_roam_scan_channel_list
   drv_cmd_get_roam_scan_channels

Change-Id: I4e6edee71ef25bf73c170813159f5078f0c3e612
CRs-Fixed: 2554148
Jianmin Zhu 5 年之前
父節點
當前提交
203d7533f9
共有 3 個文件被更改,包括 13 次插入15 次删除
  1. 7 5
      core/hdd/src/wlan_hdd_ioctl.c
  2. 1 1
      core/sme/inc/sme_api.h
  3. 5 9
      core/sme/src/common/sme_api.c

+ 7 - 5
core/hdd/src/wlan_hdd_ioctl.c

@@ -3977,15 +3977,16 @@ static int drv_cmd_get_roam_scan_channels(struct hdd_adapter *adapter,
 					  struct hdd_priv_data *priv_data)
 {
 	int ret = 0;
-	uint8_t channel_list[CFG_VALID_CHANNEL_LIST_LEN] = { 0 };
+	uint32_t freq_list[CFG_VALID_CHANNEL_LIST_LEN] = { 0 };
 	uint8_t num_channels = 0;
 	uint8_t j = 0;
 	char extra[128] = { 0 };
 	int len;
+	uint8_t chan;
 
 	if (QDF_STATUS_SUCCESS !=
 		sme_get_roam_scan_channel_list(hdd_ctx->mac_handle,
-					       channel_list,
+					       freq_list,
 					       &num_channels,
 					       adapter->vdev_id)) {
 		hdd_err("failed to get roam scan channel list");
@@ -4004,10 +4005,11 @@ static int drv_cmd_get_roam_scan_channels(struct hdd_adapter *adapter,
 	 */
 	len = scnprintf(extra, sizeof(extra), "%s %d", command,
 			num_channels);
-	for (j = 0; (j < num_channels) && len <= sizeof(extra); j++)
+	for (j = 0; (j < num_channels) && len <= sizeof(extra); j++) {
+		chan = wlan_reg_freq_to_chan(hdd_ctx->pdev, freq_list[j]);
 		len += scnprintf(extra + len, sizeof(extra) - len,
-				 " %d", channel_list[j]);
-
+				 " %d", chan);
+	}
 	len = QDF_MIN(priv_data->total_len, len + 1);
 	if (copy_to_user(priv_data->buf, &extra, len)) {
 		hdd_err("failed to copy data to user buffer");

+ 1 - 1
core/sme/inc/sme_api.h

@@ -1063,7 +1063,7 @@ QDF_STATUS sme_set_ese_roam_scan_channel_list(mac_handle_t mac_handle,
 					      uint32_t *chan_freq_list,
 					      uint8_t numChannels);
 QDF_STATUS sme_get_roam_scan_channel_list(mac_handle_t mac_handle,
-					  uint8_t *pChannelList,
+					  uint32_t *freq_list,
 					  uint8_t *pNumChannels,
 					  uint8_t sessionId);
 /**

+ 5 - 9
core/sme/src/common/sme_api.c

@@ -7569,7 +7569,7 @@ out:
 /**
  * sme_get_roam_scan_channel_list() - To get roam scan channel list
  * @mac_handle: Opaque handle to the global MAC context
- * @pChannelList: Output channel list
+ * @freq_list: Output channel freq list
  * @pNumChannels: Output number of channels
  * @sessionId: Session Identifier
  *
@@ -7578,11 +7578,10 @@ out:
  * Return: QDF_STATUS
  */
 QDF_STATUS sme_get_roam_scan_channel_list(mac_handle_t mac_handle,
-			uint8_t *pChannelList, uint8_t *pNumChannels,
+			uint32_t *freq_list, uint8_t *pNumChannels,
 			uint8_t sessionId)
 {
 	int i = 0;
-	uint8_t *pOutPtr = pChannelList;
 	struct mac_context *mac = MAC_CONTEXT(mac_handle);
 	tpCsrNeighborRoamControlInfo pNeighborRoamInfo = NULL;
 	QDF_STATUS status = QDF_STATUS_SUCCESS;
@@ -7609,13 +7608,10 @@ QDF_STATUS sme_get_roam_scan_channel_list(mac_handle_t mac_handle,
 
 	*pNumChannels = specific_chan_info->numOfChannels;
 	for (i = 0; i < (*pNumChannels); i++)
-		pOutPtr[i] =
-		wlan_reg_freq_to_chan(
-			mac->pdev,
-			specific_chan_info->freq_list[i]);
-
-	pOutPtr[i] = '\0';
+		freq_list[i] = specific_chan_info->freq_list[i];
+	freq_list[i] = '\0';
 	sme_release_global_lock(&mac->sme);
+
 	return status;
 }