فهرست منبع

qcacld-3.0: Increase SSID array size

- Increase SSID variable array size while
handling scan for ssid.
- Cleanup scan for ssid API. Remove
legacy scan code.

Change-Id: Ia3a1a9dfc61e3453c1277742155d4572f28fb1a5
CRs-Fixed: 2054232
Sandeep Puligilla 7 سال پیش
والد
کامیت
1954af2dea
1فایلهای تغییر یافته به همراه2 افزوده شده و 164 حذف شده
  1. 2 164
      core/sme/src/csr/csr_api_scan.c

+ 2 - 164
core/sme/src/csr/csr_api_scan.c

@@ -4515,20 +4515,11 @@ QDF_STATUS csr_scan_for_ssid(tpAniSirGlobal mac_ctx, uint32_t session_id,
 {
 	QDF_STATUS status = QDF_STATUS_E_INVAL;
 	uint32_t num_ssid = profile->SSIDs.numOfSSIDs;
-#ifndef NAPIER_SCAN
-	tSmeCmd *scan_cmd = NULL;
-	tCsrScanRequest *scan_req = NULL;
-	uint8_t index = 0;
-	tpCsrNeighborRoamControlInfo neighbor_roaminfo =
-		&mac_ctx->roam.neighborRoamInfo[session_id];
-	tCsrSSIDs *ssids = NULL;
-#else
 	struct scan_start_request *req;
 	struct wlan_objmgr_vdev *vdev;
-	uint8_t i, chan, num_chan = 0, str[20];
+	uint8_t i, chan, num_chan = 0, str[MAX_SSID_LEN];
 	wlan_scan_id scan_id;
 	tCsrRoamSession *session = CSR_GET_SESSION(mac_ctx, session_id);
-#endif
 
 	if (!(mac_ctx->scan.fScanEnable) && (num_ssid != 1)) {
 		sme_err(
@@ -4537,155 +4528,6 @@ QDF_STATUS csr_scan_for_ssid(tpAniSirGlobal mac_ctx, uint32_t session_id,
 		return status;
 	}
 
-#ifndef NAPIER_SCAN
-	scan_cmd = csr_get_command_buffer(mac_ctx);
-
-	if (!scan_cmd) {
-		sme_err("failed to allocate command buffer");
-		goto error;
-	}
-
-	qdf_mem_set(&scan_cmd->u.scanCmd, sizeof(tScanCmd), 0);
-	scan_cmd->u.scanCmd.pToRoamProfile =
-			qdf_mem_malloc(sizeof(tCsrRoamProfile));
-
-	if (NULL == scan_cmd->u.scanCmd.pToRoamProfile)
-		status = QDF_STATUS_E_NOMEM;
-	else
-		status = csr_roam_copy_profile(mac_ctx,
-					scan_cmd->u.scanCmd.pToRoamProfile,
-					profile);
-
-	if (!QDF_IS_STATUS_SUCCESS(status))
-		goto error;
-
-	scan_cmd->u.scanCmd.roamId = roam_id;
-	scan_cmd->command = eSmeCommandScan;
-	scan_cmd->sessionId = (uint8_t) session_id;
-	scan_cmd->u.scanCmd.callback = NULL;
-	scan_cmd->u.scanCmd.pContext = NULL;
-	scan_cmd->u.scanCmd.reason = eCsrScanForSsid;
-
-	/* let it wrap around */
-	wma_get_scan_id(&scan_cmd->u.scanCmd.scanID);
-	qdf_mem_set(&scan_cmd->u.scanCmd.u.scanRequest,
-			sizeof(tCsrScanRequest), 0);
-	status = qdf_mc_timer_init(&scan_cmd->u.scanCmd.csr_scan_timer,
-			QDF_TIMER_TYPE_SW,
-			csr_scan_active_list_timeout_handle, scan_cmd);
-	scan_req = &scan_cmd->u.scanCmd.u.scanRequest;
-	scan_req->scanType = eSIR_ACTIVE_SCAN;
-	scan_req->BSSType = profile->BSSType;
-	scan_req->scan_id = scan_cmd->u.scanCmd.scanID;
-	/*
-	 * To avoid 11b rate in probe request Set p2pSearch
-	 * flag as 1 for P2P Client Mode
-	 */
-	if (QDF_P2P_CLIENT_MODE == profile->csrPersona)
-		scan_req->p2pSearch = 1;
-
-	/* Allocate memory for IE field */
-	if (profile->pAddIEScan) {
-		scan_req->pIEField =
-			qdf_mem_malloc(profile->nAddIEScanLength);
-
-		if (NULL == scan_req->pIEField)
-			status = QDF_STATUS_E_NOMEM;
-		else
-			status = QDF_STATUS_SUCCESS;
-
-		if (QDF_IS_STATUS_SUCCESS(status)) {
-			qdf_mem_copy(scan_req->pIEField,
-					profile->pAddIEScan,
-					profile->nAddIEScanLength);
-			scan_req->uIEFieldLen = profile->nAddIEScanLength;
-		} else {
-			sme_err("No memory for scanning IE fields");
-		}
-	} else
-		scan_req->uIEFieldLen = 0;
-
-	/*
-	 * For one channel be good enpugh time to receive beacon
-	 * atleast
-	 */
-	if (1 == profile->ChannelInfo.numOfChannels) {
-		if (neighbor_roaminfo->handoffReqInfo.src ==
-					FASTREASSOC) {
-			scan_req->maxChnTime =
-				MAX_ACTIVE_SCAN_FOR_ONE_CHANNEL_FASTREASSOC;
-			scan_req->minChnTime =
-				MIN_ACTIVE_SCAN_FOR_ONE_CHANNEL_FASTREASSOC;
-			/* Reset this value */
-			neighbor_roaminfo->handoffReqInfo.src = 0;
-		} else {
-			scan_req->maxChnTime =
-					MAX_ACTIVE_SCAN_FOR_ONE_CHANNEL;
-			scan_req->minChnTime =
-					MIN_ACTIVE_SCAN_FOR_ONE_CHANNEL;
-		}
-	} else {
-		scan_req->maxChnTime =
-			mac_ctx->roam.configParam.nActiveMaxChnTime;
-		scan_req->minChnTime =
-			mac_ctx->roam.configParam.nActiveMinChnTime;
-	}
-
-	if (profile->BSSIDs.numOfBSSIDs == 1)
-		qdf_copy_macaddr(&scan_req->bssid,
-				profile->BSSIDs.bssid);
-	else
-		qdf_set_macaddr_broadcast(&scan_req->bssid);
-
-	if (profile->ChannelInfo.numOfChannels) {
-		scan_req->ChannelInfo.ChannelList =
-		    qdf_mem_malloc(sizeof(*scan_req->ChannelInfo.ChannelList) *
-					profile->ChannelInfo.numOfChannels);
-
-		if (NULL == scan_req->ChannelInfo.ChannelList)
-			status = QDF_STATUS_E_NOMEM;
-		else
-			status = QDF_STATUS_SUCCESS;
-
-		scan_req->ChannelInfo.numOfChannels = 0;
-
-		if (QDF_IS_STATUS_SUCCESS(status)) {
-			csr_roam_is_channel_valid(mac_ctx,
-				profile->ChannelInfo.ChannelList[0]);
-			csr_roam_copy_channellist(mac_ctx,
-				profile, scan_cmd, index);
-		} else {
-			goto error;
-		}
-	} else {
-		scan_req->ChannelInfo.numOfChannels = 0;
-	}
-
-	if (profile->SSIDs.numOfSSIDs) {
-		scan_req->SSIDs.SSIDList =
-			qdf_mem_malloc(profile->SSIDs.numOfSSIDs *
-					sizeof(tCsrSSIDInfo));
-
-		if (NULL == scan_req->SSIDs.SSIDList)
-			status = QDF_STATUS_E_NOMEM;
-		else
-			status = QDF_STATUS_SUCCESS;
-
-		if (!QDF_IS_STATUS_SUCCESS(status))
-			goto error;
-
-		ssids = &scan_req->SSIDs;
-		ssids->numOfSSIDs =  1;
-
-		qdf_mem_copy(scan_req->SSIDs.SSIDList,
-				profile->SSIDs.SSIDList,
-				sizeof(tCsrSSIDInfo));
-	}
-
-	/* Start process the command */
-	status = csr_queue_sme_command(mac_ctx, scan_cmd, false);
-#else
-
 	session->scan_info.profile =
 			qdf_mem_malloc(sizeof(tCsrRoamProfile));
 	if (!session->scan_info.profile)
@@ -4773,14 +4615,10 @@ QDF_STATUS csr_scan_for_ssid(tpAniSirGlobal mac_ctx, uint32_t session_id,
 	}
 	status = ucfg_scan_start(req);
 	wlan_objmgr_vdev_release_ref(vdev, WLAN_LEGACY_SME_ID);
-#endif
 error:
 	if (!QDF_IS_STATUS_SUCCESS(status)) {
 		sme_err("failed to initiate scan with status: %d", status);
-#ifndef NAPIER_SCAN
-		if (scan_cmd)
-			csr_release_command(mac_ctx, scan_cmd);
-#endif
+
 		if (notify)
 			csr_roam_call_callback(mac_ctx, session_id, NULL,
 					roam_id, eCSR_ROAM_FAILED,