Browse Source

qcacld-3.0: BT AMP Cleanup in CSR

Remove unused BT AMP code from CSR module

Change-Id: I12ee3940ed8b9b4f50faffbed4ad949730cb1297
CRs-Fixed: 926965
Sandeep Puligilla 9 years ago
parent
commit
ee029ad052

+ 0 - 34
core/sme/inc/csr_api.h

@@ -166,8 +166,6 @@ typedef enum {
 	eCSR_BSS_TYPE_INFRA_AP,   /* SoftAP AP */
 	eCSR_BSS_TYPE_IBSS,       /* IBSS network we'll NOT start */
 	eCSR_BSS_TYPE_START_IBSS, /* IBSS network we'll start if no partners */
-	eCSR_BSS_TYPE_WDS_AP,     /* BT-AMP AP */
-	eCSR_BSS_TYPE_WDS_STA,    /* BT-AMP station */
 	eCSR_BSS_TYPE_ANY,        /* any BSS type (IBSS or Infrastructure).*/
 } eCsrRoamBssType;
 
@@ -475,8 +473,6 @@ typedef enum {
 	eCSR_ROAM_GEN_INFO,
 	eCSR_ROAM_SET_KEY_COMPLETE,
 	eCSR_ROAM_IBSS_LEAVE,   /* IBSS indications. */
-	/* BSS in WDS mode status indication */
-	eCSR_ROAM_WDS_IND,
 	/* BSS in SoftAP mode status indication */
 	eCSR_ROAM_INFRA_IND,
 	eCSR_ROAM_WPS_PBC_PROBE_REQ_IND,
@@ -588,20 +584,6 @@ typedef enum {
 #ifdef FEATURE_WLAN_WAPI
 	eCSR_ROAM_RESULT_NEW_WAPI_BSS,
 #endif /* FEATURE_WLAN_WAPI */
-	/* WDS started successfully */
-	eCSR_ROAM_RESULT_WDS_STARTED,
-	/* WDS start failed */
-	eCSR_ROAM_RESULT_WDS_START_FAILED,
-	/* WDS stopped */
-	eCSR_ROAM_RESULT_WDS_STOPPED,
-	/* WDS joined successfully in STA mode */
-	eCSR_ROAM_RESULT_WDS_ASSOCIATED,
-	/* A station joined WDS AP */
-	eCSR_ROAM_RESULT_WDS_ASSOCIATION_IND,
-	/* WDS join failed in STA mode */
-	eCSR_ROAM_RESULT_WDS_NOT_ASSOCIATED,
-	/* WDS disassociated */
-	eCSR_ROAM_RESULT_WDS_DISASSOCIATED,
 	/* INFRA started successfully */
 	eCSR_ROAM_RESULT_INFRA_STARTED,
 	/* INFRA start failed */
@@ -896,12 +878,6 @@ typedef struct tagCsrRoamModifyProfileFields {
 } tCsrRoamModifyProfileFields;
 
 typedef struct tagCsrRoamProfile {
-	/*
-	 * For eCSR_BSS_TYPE_WDS_AP. There must be one SSID in SSIDs.
-	 * For eCSR_BSS_TYPE_WDS_STA. There must be two SSIDs.
-	 * Index 0 is the SSID of the WDS-AP that we need to join.
-	 * Index 1 is the SSID for self BSS.
-	 */
 	tCsrSSIDs SSIDs;
 	tCsrBSSIDs BSSIDs;
 	/* this is bit mask of all the needed phy mode defined in eCsrPhyMode */
@@ -1603,20 +1579,10 @@ typedef CDF_STATUS (*csr_roamSessionCloseCallback)(void *pContext);
 					 (pProfile)->BSSType)
 #define CSR_IS_ANY_BSS_TYPE(pProfile) (eCSR_BSS_TYPE_ANY == \
 				       (pProfile)->BSSType)
-#define CSR_IS_WDS_AP(pProfile)   (eCSR_BSS_TYPE_WDS_AP == (pProfile)->BSSType)
-#define CSR_IS_WDS_STA(pProfile)  (eCSR_BSS_TYPE_WDS_STA == (pProfile)->BSSType)
-#define CSR_IS_WDS(pProfile)      (CSR_IS_WDS_AP(pProfile) || \
-				   CSR_IS_WDS_STA(pProfile))
 #define CSR_IS_INFRA_AP(pProfile) (eCSR_BSS_TYPE_INFRA_AP ==  \
 				   (pProfile)->BSSType)
 #define CSR_IS_CONN_INFRA_AP(pProfile)  (eCSR_BSS_TYPE_INFRA_AP == \
 					 (pProfile)->BSSType)
-#define CSR_IS_CONN_WDS_AP(pProfile)    (eCSR_BSS_TYPE_WDS_AP == \
-					 (pProfile)->BSSType)
-#define CSR_IS_CONN_WDS_STA(pProfile)   (eCSR_BSS_TYPE_WDS_STA == \
-					 (pProfile)->BSSType)
-#define CSR_IS_CONN_WDS(pProfile)	(CSR_IS_WDS_AP(pProfile) || \
-					 CSR_IS_WDS_STA(pProfile))
 #define CSR_IS_CLOSE_SESSION_COMMAND(pCommand) \
 	((pCommand)->command == eSmeCommandDelStaSession)
 

+ 0 - 1
core/sme/inc/csr_support.h

@@ -311,7 +311,6 @@ bool csr_is_security_match(tHalHandle hHal, tCsrAuthList *authType,
 		eCsrEncryptionType *negotiatedMCCipher);
 bool csr_is_bss_type_match(eCsrRoamBssType bssType1, eCsrRoamBssType bssType2);
 bool csr_is_bss_type_ibss(eCsrRoamBssType bssType);
-bool csr_is_bss_type_wds(eCsrRoamBssType bssType);
 /*
  * ppIes can be NULL. If caller want to get the *ppIes allocated by
  * this function, pass in *ppIes = NULL. Caller needs to free the memory

+ 103 - 277
core/sme/src/csr/csr_api_roam.c

@@ -4152,8 +4152,7 @@ CDF_STATUS csr_roam_set_bss_config_cfg(tpAniSirGlobal pMac, uint32_t sessionId,
 			pBssConfig->uPowerLimit);
 	/* CB */
 
-	if (CSR_IS_INFRA_AP(pProfile) || CSR_IS_WDS_AP(pProfile)
-	    || CSR_IS_IBSS(pProfile)) {
+	if (CSR_IS_INFRA_AP(pProfile) || CSR_IS_IBSS(pProfile)) {
 		channel = pProfile->operationChannel;
 	} else {
 		if (pBssDesc) {
@@ -4214,7 +4213,6 @@ CDF_STATUS csr_roam_stop_network(tpAniSirGlobal pMac, uint32_t sessionId,
 		pSession->bssParams.cbMode = pBssConfig->cbMode;
 		/* For IBSS, we need to prepare some more information */
 		if (csr_is_bss_type_ibss(pProfile->BSSType) ||
-				CSR_IS_WDS(pProfile) ||
 				CSR_IS_INFRA_AP(pProfile))
 			csr_roam_prepare_bss_params(pMac, sessionId, pProfile,
 				pBssDesc, pBssConfig, pIes);
@@ -4249,7 +4247,7 @@ CDF_STATUS csr_roam_stop_network(tpAniSirGlobal pMac, uint32_t sessionId,
 				status = csr_roam_set_bss_config_cfg(pMac,
 						sessionId, pProfile, pBssDesc,
 						pBssConfig, pIes, false);
-		} else if (pBssDesc || CSR_IS_WDS_AP(pProfile) ||
+		} else if (pBssDesc ||
 					CSR_IS_INFRA_AP(pProfile)) {
 			/*
 			 * Neither in IBSS nor in Infra. We can go ahead and set
@@ -4326,10 +4324,6 @@ eCsrJoinState csr_roam_join(tpAniSirGlobal pMac, uint32_t sessionId,
 		return eCsrStopRoaming;
 	}
 
-	if (CSR_IS_WDS_STA(pProfile) &&
-		!CDF_IS_STATUS_SUCCESS(csr_roam_start_wds(pMac, sessionId,
-				pProfile, pBssDesc)))
-		return eCsrStopRoaming;
 	if (!pIesLocal &&
 		!CDF_IS_STATUS_SUCCESS(csr_get_parsed_bss_description_ies(pMac,
 				pBssDesc, &pIesLocal))) {
@@ -4560,7 +4554,6 @@ static void csr_roam_join_handle_profile(tpAniSirGlobal mac_ctx,
 	/*
 	 * We have something to roam, tell HDD when it is infra.
 	 * For IBSS, the indication goes back to HDD via eCSR_ROAM_IBSS_IND
-	 * For WDS, the indication is eCSR_ROAM_WDS_IND
 	 */
 	if (CSR_IS_INFRASTRUCTURE(profile)) {
 		if (roam_info_ptr && session->bRefAssocStartCnt) {
@@ -4685,8 +4678,7 @@ static void csr_roam_join_handle_profile(tpAniSirGlobal mac_ctx,
 			*roam_state = eCsrStopRoaming;
 		}
 		return;
-	} else if ((CSR_IS_WDS_AP(profile)) ||
-			(CSR_IS_INFRA_AP(profile))) {
+	} else if (CSR_IS_INFRA_AP(profile)) {
 		/* Attempt to start this WDS... */
 		csr_roam_assign_default_param(mac_ctx, cmd);
 		/* For AP WDS, we dont have any BSSDescription */
@@ -5772,16 +5764,6 @@ static void csr_roam_process_results_default(tpAniSirGlobal mac_ctx,
 #endif
 		csr_roam_completion(mac_ctx, session_id, NULL, cmd,
 			eCSR_ROAM_RESULT_FAILURE, false);
-#ifdef FEATURE_WLAN_BTAMP_UT_RF
-		/*
-		 * For WDS STA. To fix the issue where the WDS AP side may
-		 * be too busy by BT activity and not able to receive
-		 * WLAN traffic. Retry the join
-		 */
-		if (CSR_IS_WDS_STA(profile))
-			csr_roam_start_join_retry_timer(mac_ctx, session_id,
-				CSR_JOIN_RETRY_TIMEOUT_PERIOD);
-#endif
 		break;
 	case eCsrHddIssuedReassocToSameAP:
 	case eCsrSmeIssuedReassocToSameAP:
@@ -5937,119 +5919,90 @@ static void csr_roam_process_start_bss_success(tpAniSirGlobal mac_ctx,
 			eCSR_ASSOC_STATE_TYPE_INFRA_DISCONNECTED;
 	else
 		session->connectState = eCSR_ASSOC_STATE_TYPE_WDS_DISCONNECTED;
-	if (!CSR_IS_WDS_STA(profile)) {
-		csr_roam_state_change(mac_ctx, eCSR_ROAMING_STATE_JOINED,
+	csr_roam_state_change(mac_ctx, eCSR_ROAMING_STATE_JOINED,
 			session_id);
-		bss_desc = &start_bss_rsp->bssDescription;
-		if (!CDF_IS_STATUS_SUCCESS
-			(csr_get_parsed_bss_description_ies(mac_ctx, bss_desc,
-							    &ies_ptr))) {
-			sms_log(mac_ctx, LOGW, FL("cannot parse IBSS IEs"));
-			roam_info.pBssDesc = bss_desc;
-			csr_roam_call_callback(mac_ctx, session_id, &roam_info,
-				cmd->u.roamCmd.roamId, eCSR_ROAM_IBSS_IND,
-				eCSR_ROAM_RESULT_IBSS_START_FAILED);
-			return;
-		}
-		if (!CSR_IS_INFRA_AP(profile)) {
-			scan_res =
-				csr_scan_append_bss_description(mac_ctx,
-						bss_desc, ies_ptr, false,
-						session_id);
-		}
-		csr_roam_save_connected_bss_desc(mac_ctx, session_id, bss_desc);
-		csr_roam_free_connect_profile(mac_ctx,
-				&session->connectedProfile);
-		csr_roam_free_connected_info(mac_ctx,
-				&session->connectedInfo);
-		if (bss_desc) {
-			csr_roam_save_connected_infomation(mac_ctx, session_id,
-					profile, bss_desc, ies_ptr);
-			cdf_mem_copy(&roam_info.bssid, &bss_desc->bssId,
-				sizeof(struct cdf_mac_addr));
-		}
-		/* We are done with the IEs so free it */
-		cdf_mem_free(ies_ptr);
+	bss_desc = &start_bss_rsp->bssDescription;
+	if (!CDF_IS_STATUS_SUCCESS
+		(csr_get_parsed_bss_description_ies(mac_ctx, bss_desc,
+						    &ies_ptr))) {
+		sms_log(mac_ctx, LOGW, FL("cannot parse IBSS IEs"));
+		roam_info.pBssDesc = bss_desc;
+		csr_roam_call_callback(mac_ctx, session_id, &roam_info,
+			cmd->u.roamCmd.roamId, eCSR_ROAM_IBSS_IND,
+			eCSR_ROAM_RESULT_IBSS_START_FAILED);
+		return;
+	}
+	if (!CSR_IS_INFRA_AP(profile)) {
+		scan_res =
+			csr_scan_append_bss_description(mac_ctx,
+					bss_desc, ies_ptr, false,
+					session_id);
+	}
+	csr_roam_save_connected_bss_desc(mac_ctx, session_id, bss_desc);
+	csr_roam_free_connect_profile(mac_ctx,
+			&session->connectedProfile);
+	csr_roam_free_connected_info(mac_ctx,
+			&session->connectedInfo);
+	if (bss_desc) {
+		csr_roam_save_connected_infomation(mac_ctx, session_id,
+				profile, bss_desc, ies_ptr);
+		cdf_mem_copy(&roam_info.bssid, &bss_desc->bssId,
+			sizeof(struct cdf_mac_addr));
+	}
+	/* We are done with the IEs so free it */
+	cdf_mem_free(ies_ptr);
 #ifdef FEATURE_WLAN_DIAG_SUPPORT_CSR
-		WLAN_HOST_DIAG_LOG_ALLOC(ibss_log,
-			host_log_ibss_pkt_type, LOG_WLAN_IBSS_C);
-		if (ibss_log) {
-			if (CSR_INVALID_SCANRESULT_HANDLE ==
-					cmd->u.roamCmd.hBSSList) {
-				/*
-				 * We start the IBSS (didn't find any
-				 * matched IBSS out there)
-				 */
-				ibss_log->eventId =
-					WLAN_IBSS_EVENT_START_IBSS_RSP;
-			} else {
-				ibss_log->eventId =
-					WLAN_IBSS_EVENT_JOIN_IBSS_RSP;
-			}
-			if (bss_desc) {
-				cdf_mem_copy(ibss_log->bssid,
-					bss_desc->bssId, 6);
-				ibss_log->operatingChannel =
-					bss_desc->channelId;
-			}
-			if (IS_SIR_STATUS_SUCCESS(wlan_cfg_get_int(
-						mac_ctx,
-						WNI_CFG_BEACON_INTERVAL,
-						&bi)))
-				/* U8 is not enough for BI */
-				ibss_log->beaconInterval = (uint8_t) bi;
-			WLAN_HOST_DIAG_LOG_REPORT(ibss_log);
-		}
-#endif
-		/*
-		 * Only set context for non-WDS_STA. We don't even need it for
-		 * WDS_AP. But since the encryption.
-		 * is WPA2-PSK so it won't matter.
-		 */
-		if (CSR_IS_ENC_TYPE_STATIC(profile->negotiatedUCEncryptionType)
-				&& session->pCurRoamProfile
-				&& !CSR_IS_INFRA_AP(session->pCurRoamProfile)) {
+	WLAN_HOST_DIAG_LOG_ALLOC(ibss_log,
+		host_log_ibss_pkt_type, LOG_WLAN_IBSS_C);
+	if (ibss_log) {
+		if (CSR_INVALID_SCANRESULT_HANDLE ==
+				cmd->u.roamCmd.hBSSList) {
 			/*
-			 * Issue the set Context request to LIM to establish
-			 * the Broadcast STA context for the Ibss. In Rome IBSS
-			 * case, dummy key installation will break proper BSS
-			 * key installation, so skip it.
+			 * We start the IBSS (didn't find any
+			 * matched IBSS out there)
 			 */
-			if (!CSR_IS_IBSS(session->pCurRoamProfile)) {
-				/* NO keys. these key parameters don't matter */
-				csr_roam_issue_set_context_req(mac_ctx,
-					session_id,
-					profile->negotiatedMCEncryptionType,
-					bss_desc, &bcast_mac, false,
-					false, eSIR_TX_RX, 0, 0, NULL, 0);
-			}
-
+			ibss_log->eventId =
+				WLAN_IBSS_EVENT_START_IBSS_RSP;
+		} else {
+			ibss_log->eventId =
+				WLAN_IBSS_EVENT_JOIN_IBSS_RSP;
 		}
-	} else {
+		if (bss_desc) {
+			cdf_mem_copy(ibss_log->bssid,
+				bss_desc->bssId, 6);
+			ibss_log->operatingChannel =
+				bss_desc->channelId;
+		}
+		if (IS_SIR_STATUS_SUCCESS(wlan_cfg_get_int(
+					mac_ctx,
+					WNI_CFG_BEACON_INTERVAL,
+					&bi)))
+			/* U8 is not enough for BI */
+			ibss_log->beaconInterval = (uint8_t) bi;
+		WLAN_HOST_DIAG_LOG_REPORT(ibss_log);
+	}
+#endif
+	/*
+	 * Only set context for non-WDS_STA. We don't even need it for
+	 * WDS_AP. But since the encryption.
+	 * is WPA2-PSK so it won't matter.
+	 */
+	if (CSR_IS_ENC_TYPE_STATIC(profile->negotiatedUCEncryptionType)
+			&& session->pCurRoamProfile
+			&& !CSR_IS_INFRA_AP(session->pCurRoamProfile)) {
 		/*
-		 * Keep the state to eCSR_ROAMING_STATE_JOINING.
-		 * Need to send join_req.
+		 * Issue the set Context request to LIM to establish
+		 * the Broadcast STA context for the Ibss. In Rome IBSS
+		 * case, dummy key installation will break proper BSS
+		 * key installation, so skip it.
 		 */
-		if (cmd->u.roamCmd.pRoamBssEntry) {
-			scan_res = GET_BASE_ADDR(cmd->u.roamCmd.
-					pRoamBssEntry, tCsrScanResult, Link);
-			if (scan_res) {
-				bss_desc = &scan_res->Result.BssDescriptor;
-				ies_ptr = (tDot11fBeaconIEs *)
-					(scan_res->Result.pvIes);
-				/* Set the roaming substate to join attempt */
-				csr_roam_substate_change(mac_ctx,
-					eCSR_ROAM_SUBSTATE_JOIN_REQ,
-					session_id);
-				status = csr_send_join_req_msg(mac_ctx,
-						session_id, bss_desc,
-						profile, ies_ptr,
-						eWNI_SME_JOIN_REQ);
-			}
-		} else {
-			sms_log(mac_ctx, LOGE,
-				"StartBSS for WDS station with no BssDesc");
-			CDF_ASSERT(0);
+		if (!CSR_IS_IBSS(session->pCurRoamProfile)) {
+			/* NO keys. these key parameters don't matter */
+			csr_roam_issue_set_context_req(mac_ctx,
+				session_id,
+				profile->negotiatedMCEncryptionType,
+				bss_desc, &bcast_mac, false,
+				false, eSIR_TX_RX, 0, 0, NULL, 0);
 		}
 	}
 	/*
@@ -6061,10 +6014,6 @@ static void csr_roam_process_start_bss_success(tpAniSirGlobal mac_ctx,
 	if (!CSR_IS_JOIN_TO_IBSS(profile)) {
 		roam_status = eCSR_ROAM_IBSS_IND;
 		roam_result = eCSR_ROAM_RESULT_IBSS_STARTED;
-		if (CSR_IS_WDS(profile)) {
-			roam_status = eCSR_ROAM_WDS_IND;
-			roam_result = eCSR_ROAM_RESULT_WDS_STARTED;
-		}
 		if (CSR_IS_INFRA_AP(profile)) {
 			roam_status = eCSR_ROAM_INFRA_IND;
 			roam_result = eCSR_ROAM_RESULT_INFRA_STARTED;
@@ -6099,16 +6048,6 @@ static void csr_roam_process_start_bss_success(tpAniSirGlobal mac_ctx,
 				roam_status, roam_result);
 	}
 
-
-	if (CSR_IS_WDS_STA(profile)) {
-		/* need to send stop BSS because we fail to send join_req */
-		csr_roam_issue_disassociate_cmd(mac_ctx, session_id,
-				eCSR_DISCONNECT_REASON_UNSPECIFIED);
-		csr_roam_call_callback(mac_ctx, session_id, &roam_info,
-				cmd->u.roamCmd.roamId,
-				eCSR_ROAM_WDS_IND,
-				eCSR_ROAM_RESULT_WDS_STOPPED);
-	}
 }
 
 /**
@@ -6595,10 +6534,6 @@ static bool csr_roam_process_results(tpAniSirGlobal mac_ctx, tSmeCmd *cmd,
 #endif
 		roam_status = eCSR_ROAM_IBSS_IND;
 		roam_result = eCSR_ROAM_RESULT_IBSS_STARTED;
-		if (CSR_IS_WDS(profile)) {
-			roam_status = eCSR_ROAM_WDS_IND;
-			roam_result = eCSR_ROAM_RESULT_WDS_STARTED;
-		}
 		if (CSR_IS_INFRA_AP(profile)) {
 			roam_status = eCSR_ROAM_INFRA_IND;
 			roam_result = eCSR_ROAM_RESULT_INFRA_START_FAILED;
@@ -6681,24 +6616,14 @@ static bool csr_roam_process_results(tpAniSirGlobal mac_ctx, tSmeCmd *cmd,
 				eCSR_ROAM_RESULT_ASSOCIATED, true);
 		break;
 	case eCsrReassocFailure:
+		/*
+		* Currently Reassoc failure is handled through eCsrJoinFailure
+		* Need to revisit for eCsrReassocFailure handling
+		*/
 #ifndef WLAN_MDM_CODE_REDUCTION_OPT
 		sme_qos_csr_event_ind(mac_ctx, (uint8_t) session_id,
 				SME_QOS_CSR_REASSOC_FAILURE, NULL);
 #endif
-	case eCsrJoinWdsFailure:
-		sms_log(mac_ctx, LOGW, FL("failed to join WDS"));
-		csr_free_connect_bss_desc(mac_ctx, session_id);
-		csr_roam_free_connect_profile(mac_ctx,
-			&session->connectedProfile);
-		csr_roam_free_connected_info(mac_ctx, &session->connectedInfo);
-		cdf_mem_set(&roam_info, sizeof(tCsrRoamInfo), 0);
-		roam_info.pBssDesc = cmd->u.roamCmd.pLastRoamBss;
-		roam_info.statusCode = session->joinFailStatusCode.statusCode;
-		roam_info.reasonCode = session->joinFailStatusCode.reasonCode;
-		csr_roam_call_callback(mac_ctx, session_id, &roam_info,
-			cmd->u.roamCmd.roamId, eCSR_ROAM_WDS_IND,
-			eCSR_ROAM_RESULT_WDS_NOT_ASSOCIATED);
-		/* Need to issue stop_bss */
 		break;
 	case eCsrJoinFailure:
 	case eCsrNothingToJoin:
@@ -7269,8 +7194,7 @@ CDF_STATUS csr_roam_connect(tpAniSirGlobal pMac, uint32_t sessionId,
 		pScanFilter->bWPSAssociation = 0;
 		pScanFilter->bOSENAssociation = 0;
 	}
-	if ((pProfile && CSR_IS_WDS_AP(pProfile)) || (pProfile
-				&& CSR_IS_INFRA_AP(pProfile))) {
+	if (pProfile && CSR_IS_INFRA_AP(pProfile)) {
 		/* This can be started right away */
 		status = csr_roam_issue_connect(pMac, sessionId, pProfile, NULL,
 				 eCsrHddIssued, roamId, false, false);
@@ -7605,26 +7529,6 @@ CDF_STATUS csr_roam_process_disassoc_deauth(tpAniSirGlobal pMac, tSmeCmd *pComma
 						      eCSR_ROAM_SUBSTATE_DEAUTH_REQ);
 		}
 		fComplete = (!CDF_IS_STATUS_SUCCESS(status));
-	} else if (csr_is_conn_state_wds(pMac, sessionId)) {
-		if (CSR_IS_WDS_AP
-			    (&pMac->roam.roamSession[sessionId].connectedProfile)) {
-			status =
-				csr_roam_issue_stop_bss(pMac, sessionId,
-							eCSR_ROAM_SUBSTATE_STOP_BSS_REQ);
-			fComplete = (!CDF_IS_STATUS_SUCCESS(status));
-		}
-		/* This has to be WDS station */
-		else if (csr_is_conn_state_connected_wds(pMac, sessionId)) {
-			/* This has to be WDS station */
-			pCommand->u.roamCmd.fStopWds = true;
-			if (fDisassoc) {
-				status =
-					csr_roam_issue_disassociate(pMac, sessionId,
-								    eCSR_ROAM_SUBSTATE_DISCONNECT_CONTINUE_ROAMING,
-								    fMICFailure);
-				fComplete = (!CDF_IS_STATUS_SUCCESS(status));
-			}
-		}
 	} else {
 		/* we got a dis-assoc request while not connected to any peer */
 		/* just complete the command */
@@ -7791,7 +7695,6 @@ CDF_STATUS csr_roam_disconnect_internal(tpAniSirGlobal pMac, uint32_t sessionId,
 	/* Only issue disconnect when necessary */
 	if (csr_is_conn_state_connected(pMac, sessionId)
 	    || csr_is_bss_type_ibss(pSession->connectedProfile.BSSType)
-	    || csr_is_bss_type_wds(pSession->connectedProfile.BSSType)
 	    || csr_is_roam_command_waiting_for_session(pMac, sessionId)) {
 		sms_log(pMac, LOG2, FL("called"));
 		status = csr_roam_issue_disassociate_cmd(pMac, sessionId,
@@ -8074,17 +7977,7 @@ static void csr_roam_join_rsp_processor(tpAniSirGlobal pMac,
 		is_dis_pending = is_disconnect_pending(pMac, session_ptr->sessionId);
 		if (pCommand && (session_ptr->join_bssid_count <
 				CSR_MAX_BSSID_COUNT) && !is_dis_pending) {
-			if (CSR_IS_WDS_STA(&pCommand->u.roamCmd.roamProfile)) {
-				pCommand->u.roamCmd.fStopWds = true;
-				session_ptr->connectedProfile.BSSType =
-					eCSR_BSS_TYPE_WDS_STA;
-				csr_roam_reissue_roam_command(pMac);
-			} else if (CSR_IS_WDS(&pCommand->u.roamCmd.roamProfile)) {
-				session_ptr->join_bssid_count = 0;
-				csr_roam_complete(pMac, eCsrNothingToJoin, NULL);
-			} else {
-				csr_roam(pMac, pCommand);
-			}
+			csr_roam(pMac, pCommand);
 		} else {
 			/* ****************************************************
 			 * When the upper layers issue a connect command, there
@@ -8199,20 +8092,11 @@ void csr_roam_reissue_roam_command(tpAniSirGlobal pMac)
 	roamInfo.pBssDesc = pCommand->u.roamCmd.pLastRoamBss;
 	roamInfo.statusCode = pSession->joinFailStatusCode.statusCode;
 	roamInfo.reasonCode = pSession->joinFailStatusCode.reasonCode;
-	if (CSR_IS_WDS(&pSession->connectedProfile)) {
-		pSession->connectState = eCSR_ASSOC_STATE_TYPE_WDS_DISCONNECTED;
-		csr_roam_call_callback(pMac, sessionId, &roamInfo,
-				       pCommand->u.roamCmd.roamId,
-				       eCSR_ROAM_WDS_IND,
-				       eCSR_ROAM_RESULT_WDS_DISASSOCIATED);
-	} else if (CSR_IS_INFRA_AP(&pSession->connectedProfile)) {
-		pSession->connectState =
-			eCSR_ASSOC_STATE_TYPE_INFRA_DISCONNECTED;
-		csr_roam_call_callback(pMac, sessionId, &roamInfo,
-				       pCommand->u.roamCmd.roamId,
-				       eCSR_ROAM_INFRA_IND,
-				       eCSR_ROAM_RESULT_INFRA_DISASSOCIATED);
-	}
+	pSession->connectState = eCSR_ASSOC_STATE_TYPE_INFRA_DISCONNECTED;
+	csr_roam_call_callback(pMac, sessionId, &roamInfo,
+			       pCommand->u.roamCmd.roamId,
+			       eCSR_ROAM_INFRA_IND,
+			       eCSR_ROAM_RESULT_INFRA_DISASSOCIATED);
 
 	if (!CDF_IS_STATUS_SUCCESS(csr_roam_issue_stop_bss(pMac, sessionId,
 					eCSR_ROAM_SUBSTATE_STOP_BSS_REQ))) {
@@ -8467,7 +8351,6 @@ csr_roaming_state_config_cnf_processor(tpAniSirGlobal mac_ctx,
 		bss_desc = &scan_result->Result.BssDescriptor;
 	}
 	if (csr_is_bss_type_ibss(cmd->u.roamCmd.roamProfile.BSSType)
-	    || CSR_IS_WDS(&cmd->u.roamCmd.roamProfile)
 	    || CSR_IS_INFRA_AP(&cmd->u.roamCmd.roamProfile)) {
 		if (!CDF_IS_STATUS_SUCCESS(csr_roam_issue_start_bss(mac_ctx,
 						session_id, &session->bssParams,
@@ -9223,12 +9106,6 @@ void csr_roam_joined_state_msg_processor(tpAniSirGlobal pMac, void *pMsgBuf)
 						       eCSR_ROAM_INFRA_IND,
 						       eCSR_ROAM_RESULT_INFRA_ASSOCIATION_CNF);
 		}
-		if (CSR_IS_WDS_AP(pRoamInfo->u.pConnectedProfile)) {
-			cdf_sleep(100);
-			pMac->roam.roamSession[sessionId].connectState = eCSR_ASSOC_STATE_TYPE_WDS_CONNECTED;           /* Sta */
-			status = csr_roam_call_callback(pMac, sessionId, pRoamInfo, 0, eCSR_ROAM_WDS_IND, eCSR_ROAM_RESULT_WDS_ASSOCIATION_IND);           /* Sta */
-		}
-
 	}
 	break;
 	default:
@@ -9669,15 +9546,7 @@ csr_roam_prepare_filter_from_profile(tpAniSirGlobal mac_ctx,
 	}
 
 	if (profile->SSIDs.numOfSSIDs) {
-		if (!CSR_IS_WDS_STA(profile)) {
-			scan_fltr->SSIDs.numOfSSIDs = profile->SSIDs.numOfSSIDs;
-		} else {
-			/*
-			 * For WDS station we always use idx 1 for self SSID.
-			 * Index 0 for peer's SSID that we want to join
-			 */
-			scan_fltr->SSIDs.numOfSSIDs = 1;
-		}
+		scan_fltr->SSIDs.numOfSSIDs = profile->SSIDs.numOfSSIDs;
 		CDF_TRACE(CDF_MODULE_ID_SME, CDF_TRACE_LEVEL_DEBUG,
 			FL("No of Allowed List:%d"),
 			roam_params->num_ssid_allowed_list);
@@ -10083,10 +9952,6 @@ csr_roam_chk_lnk_assoc_ind(tpAniSirGlobal mac_ctx, tSirSmeRsp *msg_ptr)
 	cdf_mem_copy(&roam_info_ptr->chan_info,
 		     &pAssocInd->chan_info,
 		     sizeof(tSirSmeChanInfo));
-	if (CSR_IS_WDS_AP(roam_info_ptr->u.pConnectedProfile))
-		status = csr_roam_call_callback(mac_ctx, sessionId,
-					roam_info_ptr, 0, eCSR_ROAM_WDS_IND,
-					eCSR_ROAM_RESULT_WDS_ASSOCIATION_IND);
 	if (CSR_IS_INFRA_AP(roam_info_ptr->u.pConnectedProfile)) {
 		if (session->pCurRoamProfile &&
 		    CSR_IS_ENC_TYPE_STATIC(
@@ -10115,10 +9980,7 @@ csr_roam_chk_lnk_assoc_ind(tpAniSirGlobal mac_ctx, tSirSmeRsp *msg_ptr)
 	 * send a message to CSR itself just to avoid the EAPOL frames going
 	 * OTA before association response
 	 */
-	if (CSR_IS_WDS_AP(roam_info_ptr->u.pConnectedProfile)) {
-		status = csr_send_assoc_ind_to_upper_layer_cnf_msg(mac_ctx,
-						pAssocInd, status, sessionId);
-	} else if (CSR_IS_INFRA_AP(roam_info_ptr->u.pConnectedProfile)
+	if (CSR_IS_INFRA_AP(roam_info_ptr->u.pConnectedProfile)
 	    && (roam_info_ptr->statusCode != eSIR_SME_ASSOC_REFUSED)) {
 		roam_info_ptr->fReassocReq = pAssocInd->reassocReq;
 		status = csr_send_assoc_ind_to_upper_layer_cnf_msg(mac_ctx,
@@ -11668,15 +11530,6 @@ void csr_roam_process_wm_status_change_command(tpAniSirGlobal pMac,
 			pCommand->u.wmStatusChangeCmd.Type);
 		break;
 	}
-	/* For WDS, we want to stop BSS as well when it is indicated that it is disconnected. */
-	if (CSR_IS_CONN_WDS(&pSession->connectedProfile)) {
-		if (!CDF_IS_STATUS_SUCCESS
-			    (csr_roam_issue_stop_bss_cmd(pMac, pCommand->sessionId, true))) {
-			/* This is not good */
-			sms_log(pMac, LOGE,
-				FL("  failed to issue stopBSS command"));
-		}
-	}
 	/* Lost Link just triggers a roaming sequence.  We can complte the Lost Link */
 	/* command here since there is nothing else to do. */
 	csr_roam_wm_status_change_complete(pMac);
@@ -11854,7 +11707,7 @@ csr_roam_get_phy_mode_band_for_bss(tpAniSirGlobal mac_ctx,
 	 * If the global setting for dot11Mode is set to auto/abg, we overwrite
 	 * the setting in the profile.
 	 */
-	if (((!CSR_IS_INFRA_AP(profile) && !CSR_IS_WDS(profile))
+	if ((!CSR_IS_INFRA_AP(profile)
 	    && ((eCSR_CFG_DOT11_MODE_AUTO == curr_mode)
 	    || (eCSR_CFG_DOT11_MODE_ABG == curr_mode)))
 	    || (eCSR_CFG_DOT11_MODE_AUTO == cfg_dot11_mode)
@@ -12741,37 +12594,21 @@ static void csr_roam_prepare_bss_params(tpAniSirGlobal pMac, uint32_t sessionId,
 	if (pBssDesc) {
 		csr_roam_get_bss_start_parms_from_bss_desc(pMac, pBssDesc, pIes,
 							   &pSession->bssParams);
-		/* Since csr_roam_get_bss_start_parms_from_bss_desc fills in the bssid for pSession->bssParams */
-		/* The following code has to be do after that. */
-		/* For WDS station, use selfMac as the self BSSID */
-		if (CSR_IS_WDS_STA(pProfile)) {
-			cdf_mem_copy(&pSession->bssParams.bssid,
-				     &pSession->selfMacAddr,
-				     sizeof(struct cdf_mac_addr));
-		}
 	} else {
 		csr_roam_get_bss_start_parms(pMac, pProfile, &pSession->bssParams);
 		/* Use the first SSID */
-		if (pProfile->SSIDs.numOfSSIDs) {
+		if (pProfile->SSIDs.numOfSSIDs)
 			cdf_mem_copy(&pSession->bssParams.ssId,
 				     pProfile->SSIDs.SSIDList,
 				     sizeof(tSirMacSSid));
-		}
-		/* For WDS station, use selfMac as the self BSSID */
-		if (CSR_IS_WDS_STA(pProfile)) {
-			cdf_mem_copy(&pSession->bssParams.bssid,
-				     &pSession->selfMacAddr,
-				     sizeof(struct cdf_mac_addr));
-		}
-		/* Use the first BSSID */
-		else if (pProfile->BSSIDs.numOfBSSIDs) {
+		if (pProfile->BSSIDs.numOfBSSIDs)
+			/* Use the first BSSID */
 			cdf_mem_copy(&pSession->bssParams.bssid,
 				     pProfile->BSSIDs.bssid,
 				     sizeof(struct cdf_mac_addr));
-		} else {
+		else
 			cdf_mem_set(&pSession->bssParams.bssid,
 				    sizeof(struct cdf_mac_addr), 0);
-		}
 	}
 	Channel = pSession->bssParams.operationChn;
 	/* Set operating channel in pProfile which will be used */
@@ -14165,8 +14002,7 @@ CDF_STATUS csr_send_mb_disassoc_req_msg(tpAniSirGlobal pMac, uint32_t sessionId,
 	pMsg->sessionId = sessionId;
 	pMsg->transactionId = 0;
 	if ((pSession->pCurRoamProfile != NULL)
-		&& ((CSR_IS_INFRA_AP(pSession->pCurRoamProfile))
-		|| (CSR_IS_WDS_AP(pSession->pCurRoamProfile)))) {
+		&& (CSR_IS_INFRA_AP(pSession->pCurRoamProfile))) {
 		cdf_mem_copy(&pMsg->bssId,
 			     &pSession->selfMacAddr,
 			     sizeof(tSirMacAddr));
@@ -14372,8 +14208,7 @@ CDF_STATUS csr_send_mb_deauth_req_msg(tpAniSirGlobal pMac, uint32_t sessionId,
 	pMsg->transactionId = 0;
 
 	if ((pSession->pCurRoamProfile != NULL)
-	     && ((CSR_IS_INFRA_AP(pSession->pCurRoamProfile))
-	     || (CSR_IS_WDS_AP(pSession->pCurRoamProfile)))) {
+	     && (CSR_IS_INFRA_AP(pSession->pCurRoamProfile))) {
 		cdf_mem_copy(&pMsg->bssId,
 			     &pSession->selfMacAddr,
 			     sizeof(tSirMacAddr));
@@ -14792,18 +14627,9 @@ CDF_STATUS csr_send_mb_stop_bss_req_msg(tpAniSirGlobal pMac, uint32_t sessionId)
 	pMsg->length = sizeof(tSirSmeStopBssReq);
 	pMsg->transactionId = 0;
 	pMsg->reasonCode = 0;
-	/*
-	 * if BSSType is WDS sta, use selfmacAddr as bssid,
-	 * else use bssid in connectedProfile
-	 */
-	if (CSR_IS_CONN_WDS_STA(&pSession->connectedProfile))
-		cdf_mem_copy(&pMsg->bssId,
-			     &pSession->selfMacAddr.bytes,
-			     sizeof(tSirMacAddr));
-	else
-		cdf_mem_copy(&pMsg->bssId,
-			     &pSession->connectedProfile.bssid.bytes,
-			     sizeof(tSirMacAddr));
+	cdf_mem_copy(&pMsg->bssId,
+		     &pSession->connectedProfile.bssid.bytes,
+		     sizeof(tSirMacAddr));
 	return cds_send_mb_message_to_mac(pMsg);
 }
 

+ 1 - 15
core/sme/src/csr/csr_api_scan.c

@@ -2466,14 +2466,6 @@ CDF_STATUS csr_scanning_state_msg_processor(tpAniSirGlobal pMac,
 					eCSR_ROAM_INFRA_IND,
 					eCSR_ROAM_RESULT_INFRA_ASSOCIATION_CNF);
 	}
-	if (CSR_IS_WDS_AP(pRoamInfo->u.pConnectedProfile)) {
-		cdf_sleep(100);
-		pMac->roam.roamSession[sessionId].connectState =
-			eCSR_ASSOC_STATE_TYPE_WDS_CONNECTED;
-		status = csr_roam_call_callback(pMac, sessionId, pRoamInfo, 0,
-				eCSR_ROAM_WDS_IND,
-				eCSR_ROAM_RESULT_WDS_ASSOCIATION_IND);
-	}
 	return status;
 }
 
@@ -4945,9 +4937,7 @@ CDF_STATUS csr_send_mb_scan_req(tpAniSirGlobal pMac, uint16_t sessionId,
 	 * mode we need to send out a directed probe
 	 */
 	if ((eSIR_PASSIVE_SCAN != scanType)
-	    && (eCSR_SCAN_P2P_DISCOVERY !=
-		pScanReq->requestType)
-	    && (eCSR_BSS_TYPE_WDS_STA != pScanReq->BSSType)
+	    && (eCSR_SCAN_P2P_DISCOVERY != pScanReq->requestType)
 	    && (false == pMac->scan.fEnableBypass11d)) {
 		scanType = pMac->scan.curScanType;
 		if (eSIR_PASSIVE_SCAN == pMac->scan.curScanType) {
@@ -6004,10 +5994,6 @@ CDF_STATUS csr_scan_for_ssid(tpAniSirGlobal mac_ctx, uint32_t session_id,
 
 	sms_log(mac_ctx, LOG2, FL("called"));
 
-	/* For WDS, we use the index 0. There must be at least one in there */
-	if (CSR_IS_WDS_STA(profile) && num_ssid)
-		num_ssid = 1;
-
 	if (!(mac_ctx->scan.fScanEnable) && (num_ssid != 1)) {
 		sms_log(mac_ctx, LOGE,
 			FL("cannot scan because scanEnable (%d) or numSSID (%d) is invalid"),

+ 0 - 1
core/sme/src/csr/csr_inside_api.h

@@ -137,7 +137,6 @@ typedef enum {
 	eCsrStartBssFailure,
 	eCsrSilentlyStopRoaming,
 	eCsrSilentlyStopRoamingSaveState,
-	eCsrJoinWdsFailure,
 	eCsrJoinFailureDueToConcurrency,
 
 } eCsrRoamCompleteResult;

+ 0 - 16
core/sme/src/csr/csr_util.c

@@ -4371,12 +4371,6 @@ bool csr_is_bss_type_ibss(eCsrRoamBssType bssType)
 		 || eCSR_BSS_TYPE_IBSS == bssType);
 }
 
-bool csr_is_bss_type_wds(eCsrRoamBssType bssType)
-{
-	return (bool)
-		(eCSR_BSS_TYPE_WDS_STA == bssType
-		 || eCSR_BSS_TYPE_WDS_AP == bssType);
-}
 
 bool csr_is_bss_type_caps_match(eCsrRoamBssType bssType,
 				tSirBssDescription *pSirBssDesc)
@@ -4389,10 +4383,8 @@ bool csr_is_bss_type_caps_match(eCsrRoamBssType bssType,
 			break;
 
 		case eCSR_BSS_TYPE_INFRASTRUCTURE:
-		case eCSR_BSS_TYPE_WDS_STA:
 			if (!csr_is_infra_bss_desc(pSirBssDesc))
 				fMatch = false;
-
 			break;
 
 		case eCSR_BSS_TYPE_IBSS:
@@ -4401,8 +4393,6 @@ bool csr_is_bss_type_caps_match(eCsrRoamBssType bssType,
 				fMatch = false;
 
 			break;
-
-		case eCSR_BSS_TYPE_WDS_AP:      /* For WDS AP, no need to match anything */
 		default:
 			fMatch = false;
 			break;
@@ -5317,12 +5307,6 @@ tSirBssType csr_translate_bsstype_to_mac_type(eCsrRoamBssType csrtype)
 	case eCSR_BSS_TYPE_START_IBSS:
 		ret = eSIR_IBSS_MODE;
 		break;
-	case eCSR_BSS_TYPE_WDS_AP:
-		ret = eSIR_BTAMP_AP_MODE;
-		break;
-	case eCSR_BSS_TYPE_WDS_STA:
-		ret = eSIR_BTAMP_STA_MODE;
-		break;
 	case eCSR_BSS_TYPE_INFRA_AP:
 		ret = eSIR_INFRA_AP_MODE;
 		break;