Parcourir la source

qcacld-3.0: Cleanup the unused quiet timers and TX control API

Quiet timers and TX control API are no longer used and are dummy API
which is dropped in WMA layer. Thus remove this unused code.

Change-Id: I77617df14093806f19c0d587e953f63ae86f8ffe
CRs-Fixed: 2348271
Abhishek Singh il y a 6 ans
Parent
commit
11ff22150c

+ 0 - 9
core/mac/inc/ani_global.h

@@ -321,15 +321,6 @@ typedef struct sLimTimers {
 	TX_TIMER gLimUpdateOlbcCacheTimer;
 
 	TX_TIMER gLimChannelSwitchTimer;
-	/* This TIMER is started on the STA, as indicated by the */
-	/* AP in its Quiet BSS IE, for the specified interval */
-	TX_TIMER gLimQuietTimer;
-	/* This TIMER is started on the AP, prior to the AP going */
-	/* into LEARN mode */
-	/* This TIMER is started on the STA, for the specified */
-	/* quiet duration */
-	TX_TIMER gLimQuietBssTimer;
-
 	TX_TIMER gLimFTPreAuthRspTimer;
 
 #ifdef FEATURE_WLAN_ESE

+ 0 - 5
core/mac/src/include/sir_params.h

@@ -296,9 +296,6 @@ struct sir_mgmt_msg {
 #define SIR_HAL_GET_TX_POWER_RSP           (SIR_HAL_ITC_MSG_TYPES_BEGIN + 73)
 #define SIR_HAL_GET_NOISE_RSP              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 74)
 
-/* Messages to support transmit_halt and transmit_resume */
-#define SIR_HAL_TRANSMISSION_CONTROL_IND   (SIR_HAL_ITC_MSG_TYPES_BEGIN + 75)
-
 #define SIR_HAL_LOW_RSSI_IND               (SIR_HAL_ITC_MSG_TYPES_BEGIN + 80)
 #define SIR_HAL_BEACON_FILTER_IND          (SIR_HAL_ITC_MSG_TYPES_BEGIN + 81)
 
@@ -749,8 +746,6 @@ struct sir_mgmt_msg {
 /* currently unused			(SIR_LIM_TIMEOUT_MSG_START + 0x18) */
 #define SIR_LIM_UPDATE_OLBC_CACHEL_TIMEOUT (SIR_LIM_TIMEOUT_MSG_START + 0x19)
 #define SIR_LIM_CHANNEL_SWITCH_TIMEOUT   (SIR_LIM_TIMEOUT_MSG_START + 0x1A)
-#define SIR_LIM_QUIET_TIMEOUT            (SIR_LIM_TIMEOUT_MSG_START + 0x1B)
-#define SIR_LIM_QUIET_BSS_TIMEOUT        (SIR_LIM_TIMEOUT_MSG_START + 0x1C)
 
 #define SIR_LIM_WPS_OVERLAP_TIMEOUT      (SIR_LIM_TIMEOUT_MSG_START + 0x1D)
 #define SIR_LIM_FT_PREAUTH_RSP_TIMEOUT   (SIR_LIM_TIMEOUT_MSG_START + 0x1E)

+ 0 - 3
core/mac/src/pe/include/lim_api.h

@@ -65,9 +65,6 @@
 /*tpdphHashNode mlmStaContext*/
 #define GET_LIM_STA_CONTEXT_MLM_STATE(pStaDs)   (pStaDs->mlmStaContext.mlmState)
 #define SET_LIM_STA_CONTEXT_MLM_STATE(pStaDs, state)  (pStaDs->mlmStaContext.mlmState = state)
-/* gLimQuietState */
-#define GET_LIM_QUIET_STATE(pMac)               (pMac->lim.gLimSpecMgmt.quietState)
-#define SET_LIM_QUIET_STATE(pMac, state)        (pMac->lim.gLimSpecMgmt.quietState = state)
 #define LIM_IS_CONNECTION_ACTIVE(psessionEntry)  (psessionEntry->LimRxedBeaconCntDuringHB)
 /*pMac->lim.gLimProcessDefdMsgs*/
 #define GET_LIM_PROCESS_DEFD_MESGS(pMac) (pMac->lim.gLimProcessDefdMsgs)

+ 0 - 33
core/mac/src/pe/include/lim_global.h

@@ -160,25 +160,6 @@ typedef enum eLimMlmStates {
 	eLIM_MLM_WT_SAE_AUTH_STATE,
 } tLimMlmStates;
 
-/* 11h channel quiet states */
-
-/*
- * This enum indicates in which state the device is in
- * when it receives quiet element in beacon or probe-response.
- * The default quiet state of the device is always INIT
- * eLIM_QUIET_BEGIN - When Quiet period is started
- * eLIM_QUIET_CHANGED - When Quiet period is updated
- * eLIM_QUIET_RUNNING - Between two successive Quiet updates
- * eLIM_QUIET_END - When quiet period ends
- */
-typedef enum eLimQuietStates {
-	eLIM_QUIET_INIT,
-	eLIM_QUIET_BEGIN,
-	eLIM_QUIET_CHANGED,
-	eLIM_QUIET_RUNNING,
-	eLIM_QUIET_END
-} tLimQuietStates;
-
 /* 11h channel switch states */
 
 /*
@@ -518,21 +499,7 @@ typedef struct sLimWscIeInfo {
 
 /* structure to hold all 11h specific data */
 typedef struct sLimSpecMgmtInfo {
-	tLimQuietStates quietState;
-	uint32_t quietCount;
-	/* This is in units of system TICKS */
-	uint32_t quietDuration;
-	/* This is in units of TU, for over the air transmission */
-	uint32_t quietDuration_TU;
-	/* After this timeout, actual quiet starts */
-	uint32_t quietTimeoutValue;
-	/* Used on AP, if quiet is enabled during learning */
-	bool fQuietEnabled;
 	tLimDot11hChanSwStates dot11hChanSwState;
-	/* Radar detected in cur oper chan on AP */
-	bool fRadarDetCurOperChan;
-	/* Whether radar interrupt has been configured */
-	bool fRadarIntrConfigured;
 } tLimSpecMgmtInfo, *tpLimSpecMgmtInfo;
 
 #ifdef FEATURE_WLAN_TDLS

+ 0 - 36
core/mac/src/pe/lim/lim_process_action_frame.c

@@ -88,18 +88,6 @@ void lim_stop_tx_and_switch_channel(tpAniSirGlobal pMac, uint8_t sessionId)
 	pe_debug("Channel switch Mode: %d",
 		       psessionEntry->gLimChannelSwitch.switchMode);
 
-	if (psessionEntry->gLimChannelSwitch.switchMode ==
-	    eSIR_CHANSW_MODE_SILENT
-	    || psessionEntry->gLimChannelSwitch.switchCount <=
-	    SIR_CHANSW_TX_STOP_MAX_COUNT) {
-		/* Freeze the transmission */
-		lim_frame_transmission_control(pMac, eLIM_TX_ALL, eLIM_STOP_TX);
-
-	} else {
-		/* Resume the transmission */
-		lim_frame_transmission_control(pMac, eLIM_TX_ALL, eLIM_RESUME_TX);
-	}
-
 	pMac->lim.limTimers.gLimChannelSwitchTimer.sessionId = sessionId;
 	/* change the channel immediately only if
 	 * the channel switch count is 0
@@ -162,30 +150,6 @@ QDF_STATUS lim_start_channel_switch(tpAniSirGlobal pMac,
 		return QDF_STATUS_E_FAILURE;
 	}
 
-	/* Follow the channel switch, forget about the previous quiet. */
-	/* If quiet is running, chance is there to resume tx on its timeout. */
-	/* so stop timer for a safer side. */
-	if (psessionEntry->gLimSpecMgmt.quietState == eLIM_QUIET_BEGIN) {
-		MTRACE(mac_trace
-			       (pMac, TRACE_CODE_TIMER_DEACTIVATE,
-			       psessionEntry->peSessionId, eLIM_QUIET_TIMER));
-		if (tx_timer_deactivate(&pMac->lim.limTimers.gLimQuietTimer) !=
-		    TX_SUCCESS) {
-			pe_err("tx_timer_deactivate failed");
-			return QDF_STATUS_E_FAILURE;
-		}
-	} else if (psessionEntry->gLimSpecMgmt.quietState == eLIM_QUIET_RUNNING) {
-		MTRACE(mac_trace
-			       (pMac, TRACE_CODE_TIMER_DEACTIVATE,
-			       psessionEntry->peSessionId, eLIM_QUIET_BSS_TIMER));
-		if (tx_timer_deactivate(&pMac->lim.limTimers.gLimQuietBssTimer)
-		    != TX_SUCCESS) {
-			pe_err("tx_timer_deactivate failed");
-			return QDF_STATUS_E_FAILURE;
-		}
-	}
-	psessionEntry->gLimSpecMgmt.quietState = eLIM_QUIET_INIT;
-
 	/* Prepare for 11h channel switch */
 	lim_prepare_for11h_channel_switch(pMac, psessionEntry);
 

+ 0 - 6
core/mac/src/pe/lim/lim_process_message_queue.c

@@ -1812,12 +1812,6 @@ static void lim_process_messages(tpAniSirGlobal mac_ctx,
 	case SIR_LIM_CHANNEL_SWITCH_TIMEOUT:
 		lim_process_channel_switch_timeout(mac_ctx);
 		break;
-	case SIR_LIM_QUIET_TIMEOUT:
-		lim_process_quiet_timeout(mac_ctx);
-		break;
-	case SIR_LIM_QUIET_BSS_TIMEOUT:
-		lim_process_quiet_bss_timeout(mac_ctx);
-		break;
 	case SIR_LIM_UPDATE_OLBC_CACHEL_TIMEOUT:
 		lim_handle_update_olbc_cache(mac_ctx);
 		break;

+ 0 - 51
core/mac/src/pe/lim/lim_timer_utils.c

@@ -69,29 +69,6 @@ static bool lim_create_non_ap_timers(tpAniSirGlobal pMac)
 		pe_err("failed to create Ch Switch timer");
 		return false;
 	}
-	/* Create Quiet Timer
-	 * This is used on the STA to go and shut-off Tx/Rx "after" the
-	 * specified quiteInterval
-	 */
-	if (tx_timer_create(pMac, &pMac->lim.limTimers.gLimQuietTimer,
-			    "QUIET TIMER", lim_quiet_timer_handler,
-			    SIR_LIM_QUIET_TIMEOUT, LIM_QUIET_TIMER_TICKS,
-			    0, TX_NO_ACTIVATE) != TX_SUCCESS) {
-		pe_err("failed to create Quiet Begin Timer");
-		return false;
-	}
-	/* Create Quiet BSS Timer
-	 * After the specified quiteInterval, determined by gLimQuietTimer, this
-	 * timer, gLimQuietBssTimer, trigger and put the STA to sleep for the
-	 * specified gLimQuietDuration
-	 */
-	if (tx_timer_create(pMac, &pMac->lim.limTimers.gLimQuietBssTimer,
-			    "QUIET BSS TIMER", lim_quiet_bss_timer_handler,
-			    SIR_LIM_QUIET_BSS_TIMEOUT, LIM_QUIET_BSS_TIMER_TICK,
-			    0, TX_NO_ACTIVATE) != TX_SUCCESS) {
-		pe_err("failed to create Quiet Bss Timer");
-		return false;
-	}
 
 	cfgValue = SYS_MS_TO_TICKS(
 			pMac->mlme_cfg->timeouts.join_failure_timeout);
@@ -312,8 +289,6 @@ err_timer:
 	tx_timer_delete(&pMac->lim.limTimers.gLimJoinFailureTimer);
 	tx_timer_delete(&pMac->lim.limTimers.gLimPeriodicJoinProbeReqTimer);
 	tx_timer_delete(&pMac->lim.limTimers.g_lim_periodic_auth_retry_timer);
-	tx_timer_delete(&pMac->lim.limTimers.gLimQuietBssTimer);
-	tx_timer_delete(&pMac->lim.limTimers.gLimQuietTimer);
 	tx_timer_delete(&pMac->lim.limTimers.gLimChannelSwitchTimer);
 	tx_timer_delete(&pMac->lim.limTimers.gLimActiveToPassiveChannelTimer);
 	tx_timer_delete(&pMac->lim.limTimers.sae_auth_timer);
@@ -1000,29 +975,3 @@ void lim_channel_switch_timer_handler(void *pMacGlobal, uint32_t param)
 
 	lim_post_msg_api(pMac, &msg);
 }
-
-void lim_quiet_timer_handler(void *pMacGlobal, uint32_t param)
-{
-	struct scheduler_msg msg = {0};
-	tpAniSirGlobal pMac = (tpAniSirGlobal) pMacGlobal;
-
-	msg.type = SIR_LIM_QUIET_TIMEOUT;
-	msg.bodyval = (uint32_t) param;
-	msg.bodyptr = NULL;
-
-	pe_debug("Post SIR_LIM_QUIET_TIMEOUT msg");
-	lim_post_msg_api(pMac, &msg);
-}
-
-void lim_quiet_bss_timer_handler(void *pMacGlobal, uint32_t param)
-{
-	struct scheduler_msg msg = {0};
-	tpAniSirGlobal pMac = (tpAniSirGlobal) pMacGlobal;
-
-	msg.type = SIR_LIM_QUIET_BSS_TIMEOUT;
-	msg.bodyval = (uint32_t) param;
-	msg.bodyptr = NULL;
-	pe_debug("Post SIR_LIM_QUIET_BSS_TIMEOUT msg");
-	lim_post_msg_api(pMac, &msg);
-}
-

+ 0 - 4
core/mac/src/pe/lim/lim_timer_utils.h

@@ -48,8 +48,6 @@ enum {
 	eLIM_ADDTS_RSP_TIMER,
 	eLIM_CHANNEL_SWITCH_TIMER,
 	eLIM_LEARN_DURATION_TIMER,
-	eLIM_QUIET_TIMER,
-	eLIM_QUIET_BSS_TIMER,
 	eLIM_WPS_OVERLAP_TIMER,
 	eLIM_FT_PREAUTH_RSP_TIMER,
 	eLIM_REMAIN_CHN_TIMER,
@@ -80,8 +78,6 @@ void lim_activate_auth_rsp_timer(tpAniSirGlobal, tLimPreAuthNode *);
 void lim_update_olbc_cache_timer_handler(void *, uint32_t);
 void lim_addts_response_timer_handler(void *, uint32_t);
 void lim_channel_switch_timer_handler(void *, uint32_t);
-void lim_quiet_timer_handler(void *, uint32_t);
-void lim_quiet_bss_timer_handler(void *, uint32_t);
 void limCBScanIntervalTimerHandler(void *, uint32_t);
 void limCBScanDurationTimerHandler(void *, uint32_t);
 #endif /* __LIM_TIMER_UTILS_H */

+ 0 - 2
core/mac/src/pe/lim/lim_trace.c

@@ -59,8 +59,6 @@ static uint8_t *__lim_trace_get_timer_string(uint16_t timerId)
 		CASE_RETURN_STRING(eLIM_ADDTS_RSP_TIMER);
 		CASE_RETURN_STRING(eLIM_CHANNEL_SWITCH_TIMER);
 		CASE_RETURN_STRING(eLIM_LEARN_DURATION_TIMER);
-		CASE_RETURN_STRING(eLIM_QUIET_TIMER);
-		CASE_RETURN_STRING(eLIM_QUIET_BSS_TIMER);
 		CASE_RETURN_STRING(eLIM_WPS_OVERLAP_TIMER);
 		CASE_RETURN_STRING(eLIM_FT_PREAUTH_RSP_TIMER);
 		CASE_RETURN_STRING(eLIM_REMAIN_CHN_TIMER);

+ 0 - 431
core/mac/src/pe/lim/lim_utils.c

@@ -587,12 +587,6 @@ void lim_deactivate_timers(tpAniSirGlobal mac_ctx)
 	/* Deactivate wait-for-probe-after-Heartbeat timer. */
 	tx_timer_deactivate(&lim_timer->gLimProbeAfterHBTimer);
 
-	/* Deactivate and delete Quiet timer. */
-	tx_timer_deactivate(&lim_timer->gLimQuietTimer);
-
-	/* Deactivate Quiet BSS timer. */
-	tx_timer_deactivate(&lim_timer->gLimQuietBssTimer);
-
 	/* Deactivate cnf wait timer */
 	for (n = 0; n < (mac_ctx->lim.maxStation + 1); n++) {
 		tx_timer_deactivate(&lim_timer->gpLimCnfWaitTimer[n]);
@@ -669,12 +663,6 @@ void lim_cleanup_mlm(tpAniSirGlobal mac_ctx)
 		/* Delete wait-for-probe-after-Heartbeat timer. */
 		tx_timer_delete(&lim_timer->gLimProbeAfterHBTimer);
 
-		/* Delete Quiet timer. */
-		tx_timer_delete(&lim_timer->gLimQuietTimer);
-
-		/* Delete Quiet BSS timer. */
-		tx_timer_delete(&lim_timer->gLimQuietBssTimer);
-
 		/* Delete cnf wait timer */
 		for (n = 0; n < (mac_ctx->lim.maxStation + 1); n++) {
 			tx_timer_delete(&lim_timer->gpLimCnfWaitTimer[n]);
@@ -2206,285 +2194,6 @@ void lim_cancel_dot11h_channel_switch(tpAniSirGlobal pMac,
 	}
 }
 
-/**
- * lim_cancel_dot11h_quiet()
- *
- * @mac_ctx: pointer to global mac structure
- * @psession_entry: pointer to tppesession
- *
- * Cancel the quieting on Station if latest beacon
- * doesn't contain quiet IE in it.
- *
- * Return: none
- */
-void lim_cancel_dot11h_quiet(tpAniSirGlobal pMac, tpPESession psessionEntry)
-{
-	if (!LIM_IS_STA_ROLE(psessionEntry))
-		return;
-
-	if (psessionEntry->gLimSpecMgmt.quietState == eLIM_QUIET_BEGIN) {
-		MTRACE(mac_trace
-			       (pMac, TRACE_CODE_TIMER_DEACTIVATE,
-			       psessionEntry->peSessionId, eLIM_QUIET_TIMER));
-		if (tx_timer_deactivate(&pMac->lim.limTimers.gLimQuietTimer) !=
-		    TX_SUCCESS) {
-			pe_err("tx_timer_deactivate failed");
-		}
-	} else if (psessionEntry->gLimSpecMgmt.quietState == eLIM_QUIET_RUNNING) {
-		MTRACE(mac_trace
-			       (pMac, TRACE_CODE_TIMER_DEACTIVATE,
-			       psessionEntry->peSessionId, eLIM_QUIET_BSS_TIMER));
-		if (tx_timer_deactivate(&pMac->lim.limTimers.gLimQuietBssTimer)
-		    != TX_SUCCESS) {
-			pe_err("tx_timer_deactivate failed");
-		}
-		/**
-		 * If the channel switch is already running in silent mode, dont resume the
-		 * transmission. Channel switch timer when timeout, transmission will be resumed.
-		 */
-		if (!
-		    ((psessionEntry->gLimSpecMgmt.dot11hChanSwState ==
-		      eLIM_11H_CHANSW_RUNNING)
-		     && (psessionEntry->gLimChannelSwitch.switchMode ==
-			 eSIR_CHANSW_MODE_SILENT))) {
-			lim_frame_transmission_control(pMac, eLIM_TX_ALL,
-						       eLIM_RESUME_TX);
-			lim_restore_pre_quiet_state(pMac, psessionEntry);
-		}
-	}
-	psessionEntry->gLimSpecMgmt.quietState = eLIM_QUIET_INIT;
-}
-
-/**
- * lim_process_quiet_timeout
- *
- * FUNCTION:
- * This function is active only on the STA.
- * Handles SIR_LIM_QUIET_TIMEOUT
- *
- * LOGIC:
- * This timeout can occur under only one circumstance:
- *
- * 1) When gLimQuietState = eLIM_QUIET_BEGIN
- * This indicates that the timeout "interval" has
- * expired. This is a trigger for the STA to now
- * shut-off Tx/Rx for the specified gLimQuietDuration
- * -> The TIMER object gLimQuietBssTimer is
- * activated
- * -> With timeout = gLimQuietDuration
- * -> gLimQuietState is set to eLIM_QUIET_RUNNING
- *
- * ASSUMPTIONS:
- * Using two TIMER objects -
- * gLimQuietTimer & gLimQuietBssTimer
- *
- * NOTE:
- *
- * @param  pMac - Pointer to Global MAC structure
- *
- * @return None
- */
-void lim_process_quiet_timeout(tpAniSirGlobal pMac)
-{
-	tpPESession psessionEntry;
-
-	psessionEntry = pe_find_session_by_session_id(pMac,
-			pMac->lim.limTimers.gLimQuietTimer.sessionId);
-	if (psessionEntry == NULL) {
-		pe_err("Session Does not exist for given sessionID");
-		return;
-	}
-
-	pe_debug("quietState: %d", psessionEntry->gLimSpecMgmt.quietState);
-	switch (psessionEntry->gLimSpecMgmt.quietState) {
-	case eLIM_QUIET_BEGIN:
-		/* Time to Stop data traffic for quietDuration */
-		/* lim_deactivate_and_change_timer(pMac, eLIM_QUIET_BSS_TIMER); */
-		if (TX_SUCCESS != tx_timer_deactivate(
-				&pMac->lim.limTimers.gLimQuietBssTimer)) {
-			pe_err("Unable to de-activate gLimQuietBssTimer! Will attempt to activate anyway");
-		}
-		/* gLimQuietDuration appears to be in units of ticks */
-		/* Use it as is */
-		if (TX_SUCCESS !=
-		    tx_timer_change(&pMac->lim.limTimers.gLimQuietBssTimer,
-				    psessionEntry->gLimSpecMgmt.quietDuration,
-				    0)) {
-			pe_err("Unable to change gLimQuietBssTimer! Will still attempt to activate anyway");
-		}
-		MTRACE(mac_trace
-			       (pMac, TRACE_CODE_TIMER_ACTIVATE,
-			       pMac->lim.limTimers.gLimQuietTimer.sessionId,
-			       eLIM_QUIET_BSS_TIMER));
-		if (TX_SUCCESS !=
-		    tx_timer_activate(&pMac->lim.limTimers.gLimQuietBssTimer)) {
-			pe_warn("Unable to activate gLimQuietBssTimer! The STA will be unable to honor Quiet BSS");
-		} else {
-			/* Transition to eLIM_QUIET_RUNNING */
-			psessionEntry->gLimSpecMgmt.quietState =
-				eLIM_QUIET_RUNNING;
-			/* Shut-off Tx/Rx for gLimSpecMgmt.quietDuration */
-			/* freeze the transmission */
-			lim_frame_transmission_control(pMac, eLIM_TX_ALL,
-						       eLIM_STOP_TX);
-
-			pe_debug("Quiet BSS: STA shutting down for %d ticks",
-				psessionEntry->gLimSpecMgmt.quietDuration);
-		}
-		break;
-
-	case eLIM_QUIET_RUNNING:
-	case eLIM_QUIET_INIT:
-	case eLIM_QUIET_END:
-	default:
-		/* */
-		/* As of now, nothing to be done */
-		/* */
-		break;
-	}
-}
-
-/**
- * lim_process_quiet_bss_timeout() - Handles SIR_LIM_QUIET_BSS_TIMEOUT
- * @mac_ctx: pointer to Globale Mac Structure
- *
- * This function is active on the AP and STA.
- * Handles SIR_LIM_QUIET_BSS_TIMEOUT
- *
- * On the AP -
- * When the SIR_LIM_QUIET_BSS_TIMEOUT is triggered, it is
- * an indication for the AP to START sending out the
- * Quiet BSS IE.
- * If 802.11H is enabled, the Quiet BSS IE is sent as per
- * the 11H spec
- * If 802.11H is not enabled, the Quiet BSS IE is sent as
- * a Proprietary IE. This will be understood by all the
- * TITAN STA's
- * Transitioning gLimQuietState to eLIM_QUIET_BEGIN will
- * initiate the SCH to include the Quiet BSS IE in all
- * its subsequent Beacons/PR's.
- * The Quiet BSS IE will be included in all the Beacons
- * & PR's until the next DTIM period
- *
- * On the STA -
- * When gLimQuietState = eLIM_QUIET_RUNNING
- * This indicates that the STA was successfully shut-off
- * for the specified gLimQuietDuration. This is a trigger
- * for the STA to now resume data traffic.
- * -> gLimQuietState is set to eLIM_QUIET_INIT
- *
- *
- * Return: none
- */
-void lim_process_quiet_bss_timeout(tpAniSirGlobal mac_ctx)
-{
-	tpPESession psession_entry = NULL;
-	tLimTimers *lim_timer = &mac_ctx->lim.limTimers;
-
-	psession_entry = pe_find_session_by_session_id(mac_ctx,
-					lim_timer->gLimQuietBssTimer.sessionId);
-
-	if (psession_entry == NULL) {
-		pe_err("Session Does not exist for given sessionID");
-		return;
-	}
-
-	pe_debug("quietState: %d",
-			psession_entry->gLimSpecMgmt.quietState);
-
-	if (LIM_IS_AP_ROLE(psession_entry))
-		return;
-
-	/* eLIM_STA_ROLE */
-	switch (psession_entry->gLimSpecMgmt.quietState) {
-	case eLIM_QUIET_RUNNING:
-		/* Transition to eLIM_QUIET_INIT */
-		psession_entry->gLimSpecMgmt.quietState = eLIM_QUIET_INIT;
-
-		/*
-		 * Resume data traffic only if channel switch is
-		 * not running in silent mode.
-		 */
-		if (!((psession_entry->gLimSpecMgmt.dot11hChanSwState ==
-				eLIM_11H_CHANSW_RUNNING) &&
-			(psession_entry->gLimChannelSwitch.switchMode ==
-				eSIR_CHANSW_MODE_SILENT))) {
-			lim_frame_transmission_control(mac_ctx, eLIM_TX_ALL,
-				eLIM_RESUME_TX);
-			lim_restore_pre_quiet_state(mac_ctx, psession_entry);
-		}
-		pe_debug("Quiet BSS: Resuming traffic");
-		break;
-
-	case eLIM_QUIET_INIT:
-	case eLIM_QUIET_BEGIN:
-	case eLIM_QUIET_END:
-		pe_debug("Quiet state not in RUNNING");
-		/*
-		 * If the quiet period has ended, then resume the
-		 * frame transmission
-		 */
-		lim_frame_transmission_control(mac_ctx, eLIM_TX_ALL,
-					eLIM_RESUME_TX);
-		lim_restore_pre_quiet_state(mac_ctx, psession_entry);
-		psession_entry->gLimSpecMgmt.quietState = eLIM_QUIET_INIT;
-		break;
-
-	default:
-		/* As of now, nothing to be done */
-		break;
-	}
-}
-
-/**----------------------------------------------
-   \fn        lim_start_quiet_timer
-   \brief    Starts the quiet timer.
-
-   \param pMac
-   \return NONE
-   -----------------------------------------------*/
-void lim_start_quiet_timer(tpAniSirGlobal pMac, uint8_t sessionId)
-{
-	tpPESession psessionEntry;
-
-	psessionEntry = pe_find_session_by_session_id(pMac, sessionId);
-
-	if (psessionEntry == NULL) {
-		pe_err("Session Does not exist for given sessionID");
-		return;
-	}
-
-	if (!LIM_IS_STA_ROLE(psessionEntry))
-		return;
-	/* First, de-activate Timer, if its already active */
-	lim_cancel_dot11h_quiet(pMac, psessionEntry);
-
-	MTRACE(mac_trace
-		       (pMac, TRACE_CODE_TIMER_ACTIVATE, sessionId, eLIM_QUIET_TIMER));
-	if (TX_SUCCESS !=
-	    tx_timer_deactivate(&pMac->lim.limTimers.gLimQuietTimer)) {
-		pe_err("Unable to deactivate gLimQuietTimer! Will still attempt to re-activate anyway");
-	}
-	/* Set the NEW timeout value, in ticks */
-	if (TX_SUCCESS != tx_timer_change(&pMac->lim.limTimers.gLimQuietTimer,
-					  SYS_MS_TO_TICKS(psessionEntry->
-							  gLimSpecMgmt.
-							  quietTimeoutValue),
-					  0)) {
-		pe_err("Unable to change gLimQuietTimer! Will still attempt to re-activate anyway");
-	}
-
-	pMac->lim.limTimers.gLimQuietTimer.sessionId = sessionId;
-	if (TX_SUCCESS !=
-	    tx_timer_activate(&pMac->lim.limTimers.gLimQuietTimer)) {
-		pe_err("Unable to activate gLimQuietTimer! STA cannot honor Quiet BSS!");
-		lim_restore_pre_quiet_state(pMac, psessionEntry);
-
-		psessionEntry->gLimSpecMgmt.quietState = eLIM_QUIET_INIT;
-		return;
-	}
-}
-
 /** ------------------------------------------------------------------------ **/
 /**
  * keep track of the number of ANI peers associated in the BSS
@@ -4947,117 +4656,6 @@ bool lim_is_channel_valid_for_channel_switch(tpAniSirGlobal pMac, uint8_t channe
 	return false;
 }
 
-/**------------------------------------------------------
-   \fn     __lim_fill_tx_control_params
-   \brief  Fill the message for stopping/resuming tx.
-
-   \param  pMac
-   \param  pTxCtrlMsg - Pointer to tx control message.
-   \param  type - Which way we want to stop/ resume tx.
-   \param  mode - To stop/resume.
-   -------------------------------------------------------*/
-static QDF_STATUS
-__lim_fill_tx_control_params(tpAniSirGlobal pMac, tpTxControlParams pTxCtrlMsg,
-			     tLimQuietTxMode type, tLimControlTx mode)
-{
-
-	tpPESession psessionEntry = &pMac->lim.gpSession[0];
-
-	if (mode == eLIM_STOP_TX)
-		pTxCtrlMsg->stopTx = true;
-	else
-		pTxCtrlMsg->stopTx = false;
-
-	switch (type) {
-	case eLIM_TX_ALL:
-		/** Stops/resumes transmission completely */
-		pTxCtrlMsg->fCtrlGlobal = 1;
-		break;
-
-	case eLIM_TX_BSS_BUT_BEACON:
-		/** Stops/resumes transmission on a particular BSS. Stopping BSS, doesn't
-		 *  stop beacon transmission.
-		 */
-		pTxCtrlMsg->ctrlBss = 1;
-		pTxCtrlMsg->bssBitmap |= (1 << psessionEntry->bssIdx);
-		break;
-
-	case eLIM_TX_STA:
-	/** Memory for station bitmap is allocated dynamically in caller of this
-	 *  so decode properly here and fill the bitmap. Now not implemented,
-	 *  fall through.
-	 */
-	case eLIM_TX_BSS:
-	/* Fall thru... */
-	default:
-		pe_warn("Invalid case: Not Handled");
-		return QDF_STATUS_E_FAILURE;
-	}
-
-	return QDF_STATUS_SUCCESS;
-}
-
-/**
- * @function :  lim_frame_transmission_control()
- *
- * @brief  :  This API is called by the user to halt/resume any frame
- *       transmission from the device. If stopped, all frames will be
- *            queued starting from hardware. Then back-pressure
- *            is built till the driver.
- *      LOGIC:
- *
- *      ASSUMPTIONS:
- *          NA
- *
- *      NOTE:
- *          NA
- *
- * @param  pMac - Pointer to Global MAC structure
- * @return None
- */
-void lim_frame_transmission_control(tpAniSirGlobal pMac, tLimQuietTxMode type,
-				    tLimControlTx mode)
-{
-
-	QDF_STATUS status = QDF_STATUS_E_FAILURE;
-	tpTxControlParams pTxCtrlMsg;
-	struct scheduler_msg msgQ = {0};
-	uint8_t nBytes = 0; /* No of bytes required for station bitmap. */
-
-	/** Allocate only required number of bytes for station bitmap
-	 * Make it to align to 4 byte boundary  */
-	nBytes = (uint8_t) HALMSG_NUMBYTES_STATION_BITMAP(pMac->lim.maxStation);
-
-	pTxCtrlMsg = qdf_mem_malloc(sizeof(*pTxCtrlMsg) + nBytes);
-	if (!pTxCtrlMsg)
-		return;
-
-	status = __lim_fill_tx_control_params(pMac, pTxCtrlMsg, type, mode);
-	if (status != QDF_STATUS_SUCCESS) {
-		qdf_mem_free(pTxCtrlMsg);
-		pe_err("__lim_fill_tx_control_params failed, status: %d",
-			status);
-		return;
-	}
-
-	msgQ.bodyptr = (void *)pTxCtrlMsg;
-	msgQ.bodyval = 0;
-	msgQ.reserved = 0;
-	msgQ.type = WMA_TRANSMISSION_CONTROL_IND;
-
-	MTRACE(mac_trace_msg_tx(pMac, NO_SESSION, msgQ.type));
-	if (wma_post_ctrl_msg(pMac, &msgQ) != QDF_STATUS_SUCCESS) {
-		qdf_mem_free(pTxCtrlMsg);
-		pe_err("Posting Message to HAL failed");
-		return;
-	}
-
-	pe_debug("Stopping the transmission of all packets, indicated softmac tx_control: %d",
-		mode);
-
-	return;
-}
-
 /**
  * @function :  lim_restore_pre_channel_switch_state()
  *
@@ -5088,35 +4686,6 @@ lim_restore_pre_channel_switch_state(tpAniSirGlobal pMac, tpPESession psessionEn
 	/* Channel switch should be ready for the next time */
 	psessionEntry->gLimSpecMgmt.dot11hChanSwState = eLIM_11H_CHANSW_INIT;
 
-	/* Restore the frame transmission, all the time. */
-	lim_frame_transmission_control(pMac, eLIM_TX_ALL, eLIM_RESUME_TX);
-
-	return retCode;
-}
-
-/**--------------------------------------------
-   \fn       lim_restore_pre_quiet_state
-   \brief   Restore the pre quiet state
-
-   \param pMac
-   \return NONE
-   ---------------------------------------------*/
-QDF_STATUS lim_restore_pre_quiet_state(tpAniSirGlobal pMac,
-					  tpPESession psessionEntry)
-{
-
-	QDF_STATUS retCode = QDF_STATUS_SUCCESS;
-
-	if (pMac->lim.gLimSystemRole != eLIM_STA_ROLE)
-		return retCode;
-
-	/* Quiet should be ready for the next time */
-	psessionEntry->gLimSpecMgmt.quietState = eLIM_QUIET_INIT;
-
-	/* Restore the frame transmission, all the time. */
-	if (psessionEntry->gLimSpecMgmt.quietState == eLIM_QUIET_RUNNING)
-		lim_frame_transmission_control(pMac, eLIM_TX_ALL, eLIM_RESUME_TX);
-
 	return retCode;
 }
 

+ 0 - 8
core/mac/src/pe/lim/lim_utils.h

@@ -298,10 +298,7 @@ QDF_STATUS lim_start_channel_switch(tpAniSirGlobal pMac,
 		tpPESession psessionEntry);
 void lim_update_channel_switch(tpAniSirGlobal, tpSirProbeRespBeacon,
 		tpPESession psessionEntry);
-void lim_process_quiet_timeout(tpAniSirGlobal);
-void lim_process_quiet_bss_timeout(tpAniSirGlobal);
 
-void lim_start_quiet_timer(tpAniSirGlobal pMac, uint8_t sessionId);
 void lim_switch_primary_channel(tpAniSirGlobal, uint8_t, tpPESession);
 void lim_switch_primary_secondary_channel(tpAniSirGlobal pMac,
 					tpPESession psessionEntry,
@@ -319,15 +316,10 @@ void lim_update_sta_run_time_ht_info(struct mac_context *pMac,
 		tpPESession psessionEntry);
 void lim_cancel_dot11h_channel_switch(tpAniSirGlobal pMac,
 		tpPESession psessionEntry);
-void lim_cancel_dot11h_quiet(tpAniSirGlobal pMac, tpPESession psessionEntry);
 bool lim_is_channel_valid_for_channel_switch(tpAniSirGlobal pMac,
 		uint8_t channel);
-void lim_frame_transmission_control(tpAniSirGlobal pMac, tLimQuietTxMode type,
-		tLimControlTx mode);
 QDF_STATUS lim_restore_pre_channel_switch_state(tpAniSirGlobal pMac,
 		tpPESession psessionEntry);
-QDF_STATUS lim_restore_pre_quiet_state(tpAniSirGlobal pMac,
-		tpPESession psessionEntry);
 
 void lim_prepare_for11h_channel_switch(tpAniSirGlobal pMac,
 		tpPESession psessionEntry);

+ 0 - 3
core/mac/src/sys/legacy/src/utils/src/mac_trace.c

@@ -455,7 +455,6 @@ uint8_t *mac_trace_get_wma_msg_string(uint16_t wma_msg)
 		CASE_RETURN_STRING(WMA_SET_TX_POWER_RSP);
 		CASE_RETURN_STRING(WMA_GET_TX_POWER_REQ);
 
-		CASE_RETURN_STRING(WMA_TRANSMISSION_CONTROL_IND);
 		CASE_RETURN_STRING(WMA_ENABLE_UAPSD_REQ);
 		CASE_RETURN_STRING(WMA_DISABLE_UAPSD_REQ);
 		CASE_RETURN_STRING(WMA_GET_STATISTICS_REQ);
@@ -695,8 +694,6 @@ uint8_t *mac_trace_get_lim_msg_string(uint16_t lim_msg)
 		CASE_RETURN_STRING(SIR_LIM_CNF_WAIT_TIMEOUT);
 		CASE_RETURN_STRING(SIR_LIM_UPDATE_OLBC_CACHEL_TIMEOUT);
 		CASE_RETURN_STRING(SIR_LIM_CHANNEL_SWITCH_TIMEOUT);
-		CASE_RETURN_STRING(SIR_LIM_QUIET_TIMEOUT);
-		CASE_RETURN_STRING(SIR_LIM_QUIET_BSS_TIMEOUT);
 		CASE_RETURN_STRING(SIR_LIM_WPS_OVERLAP_TIMEOUT);
 		CASE_RETURN_STRING(SIR_LIM_FT_PREAUTH_RSP_TIMEOUT);
 		CASE_RETURN_STRING(SIR_LIM_CONVERT_ACTIVE_CHANNEL_TO_PASSIVE);

+ 0 - 26
core/wma/inc/wma_if.h

@@ -1103,32 +1103,6 @@ typedef struct tHalIndCB {
 	tHalMsgCallback pHalIndCB;
 } tHalIndCB, *tpHalIndCB;
 
-/**
- * struct sControlTxParams - control tx parameters
- * @stopTx: stop transmission
- * @fCtrlGlobal:  Master flag to stop or resume all transmission
- * @ctrlSta: If this flag is set, staBitmap
- * @ctrlBss: If this flag is set, bssBitmap and beaconBitmap is valid
- * @bssBitmap: bitmap of BSS indices to be stopped for resumed
- * @beaconBitmap: this bitmap contains bitmap of BSS indices to be
- *                stopped for resumed for beacon transmission
- */
-typedef struct sControlTxParams {
-	bool stopTx;
-	uint8_t fCtrlGlobal;
-	uint8_t ctrlSta;
-	uint8_t ctrlBss;
-	/* When ctrlBss is set, this bitmap contains bitmap of BSS indices to be
-	 * stopped for resumed for transmission.
-	 * This is 32 bit bitmap, not array of bytes.
-	 */
-	uint32_t bssBitmap;
-	/* When ctrlBss is set, this bitmap contains bitmap of BSS indices to be
-	 * stopped for resumed for beacon transmission.
-	 */
-	uint32_t beaconBitmap;
-} tTxControlParams, *tpTxControlParams;
-
 /**
  * struct tMaxTxPowerParams - Max Tx Power parameters
  * @bssId: BSSID is needed to identify which session issued this request

+ 0 - 3
core/wma/inc/wma_types.h

@@ -199,9 +199,6 @@
 #define WMA_SET_TX_POWER_RSP                    SIR_HAL_SET_TX_POWER_RSP
 #define WMA_GET_TX_POWER_REQ                    SIR_HAL_GET_TX_POWER_REQ
 
-/* Messages to support transmit_halt and transmit_resume */
-#define WMA_TRANSMISSION_CONTROL_IND            SIR_HAL_TRANSMISSION_CONTROL_IND
-
 #define WMA_ENABLE_UAPSD_REQ            SIR_HAL_ENABLE_UAPSD_REQ
 #define WMA_DISABLE_UAPSD_REQ           SIR_HAL_DISABLE_UAPSD_REQ