mac80211: cleanup suspend/resume on managed mode
Remove not used any longer suspend/resume code. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
		
							parent
							
								
									12e7f51702
								
							
						
					
					
						commit
						9b7d72c104
					
				| @ -401,7 +401,6 @@ struct ieee80211_if_managed { | ||||
| 
 | ||||
| 	u16 aid; | ||||
| 
 | ||||
| 	unsigned long timers_running; /* used for quiesce/restart */ | ||||
| 	bool powersave; /* powersave requested for this iface */ | ||||
| 	bool broken_ap; /* AP is broken -- turn off powersave */ | ||||
| 	u8 dtim_period; | ||||
| @ -1277,8 +1276,6 @@ void | ||||
| ieee80211_sta_process_chanswitch(struct ieee80211_sub_if_data *sdata, | ||||
| 				 const struct ieee80211_channel_sw_ie *sw_elem, | ||||
| 				 struct ieee80211_bss *bss, u64 timestamp); | ||||
| void ieee80211_sta_quiesce(struct ieee80211_sub_if_data *sdata); | ||||
| void ieee80211_sta_restart(struct ieee80211_sub_if_data *sdata); | ||||
| void ieee80211_sta_work(struct ieee80211_sub_if_data *sdata); | ||||
| void ieee80211_sta_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata, | ||||
| 				  struct sk_buff *skb); | ||||
|  | ||||
| @ -87,9 +87,6 @@ MODULE_PARM_DESC(probe_wait_ms, | ||||
|  */ | ||||
| #define IEEE80211_SIGNAL_AVE_MIN_COUNT	4 | ||||
| 
 | ||||
| #define TMR_RUNNING_TIMER	0 | ||||
| #define TMR_RUNNING_CHANSW	1 | ||||
| 
 | ||||
| /*
 | ||||
|  * All cfg80211 functions have to be called outside a locked | ||||
|  * section so that they can acquire a lock themselves... This | ||||
| @ -1039,14 +1036,8 @@ static void ieee80211_chswitch_timer(unsigned long data) | ||||
| { | ||||
| 	struct ieee80211_sub_if_data *sdata = | ||||
| 		(struct ieee80211_sub_if_data *) data; | ||||
| 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; | ||||
| 
 | ||||
| 	if (sdata->local->quiescing) { | ||||
| 		set_bit(TMR_RUNNING_CHANSW, &ifmgd->timers_running); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	ieee80211_queue_work(&sdata->local->hw, &ifmgd->chswitch_work); | ||||
| 	ieee80211_queue_work(&sdata->local->hw, &sdata->u.mgd.chswitch_work); | ||||
| } | ||||
| 
 | ||||
| void | ||||
| @ -1833,8 +1824,6 @@ static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata, | ||||
| 	del_timer_sync(&sdata->u.mgd.timer); | ||||
| 	del_timer_sync(&sdata->u.mgd.chswitch_timer); | ||||
| 
 | ||||
| 	sdata->u.mgd.timers_running = 0; | ||||
| 
 | ||||
| 	sdata->vif.bss_conf.dtim_period = 0; | ||||
| 
 | ||||
| 	ifmgd->flags = 0; | ||||
| @ -3143,15 +3132,8 @@ static void ieee80211_sta_timer(unsigned long data) | ||||
| { | ||||
| 	struct ieee80211_sub_if_data *sdata = | ||||
| 		(struct ieee80211_sub_if_data *) data; | ||||
| 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; | ||||
| 	struct ieee80211_local *local = sdata->local; | ||||
| 
 | ||||
| 	if (local->quiescing) { | ||||
| 		set_bit(TMR_RUNNING_TIMER, &ifmgd->timers_running); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	ieee80211_queue_work(&local->hw, &sdata->work); | ||||
| 	ieee80211_queue_work(&sdata->local->hw, &sdata->work); | ||||
| } | ||||
| 
 | ||||
| static void ieee80211_sta_connection_lost(struct ieee80211_sub_if_data *sdata, | ||||
| @ -3503,72 +3485,6 @@ static void ieee80211_restart_sta_timer(struct ieee80211_sub_if_data *sdata) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| #ifdef CONFIG_PM | ||||
| void ieee80211_sta_quiesce(struct ieee80211_sub_if_data *sdata) | ||||
| { | ||||
| 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Stop timers before deleting work items, as timers | ||||
| 	 * could race and re-add the work-items. They will be | ||||
| 	 * re-established on connection. | ||||
| 	 */ | ||||
| 	del_timer_sync(&ifmgd->conn_mon_timer); | ||||
| 	del_timer_sync(&ifmgd->bcn_mon_timer); | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * we need to use atomic bitops for the running bits | ||||
| 	 * only because both timers might fire at the same | ||||
| 	 * time -- the code here is properly synchronised. | ||||
| 	 */ | ||||
| 
 | ||||
| 	cancel_work_sync(&ifmgd->request_smps_work); | ||||
| 
 | ||||
| 	cancel_work_sync(&ifmgd->monitor_work); | ||||
| 	cancel_work_sync(&ifmgd->beacon_connection_loss_work); | ||||
| 	cancel_work_sync(&ifmgd->csa_connection_drop_work); | ||||
| 	if (del_timer_sync(&ifmgd->timer)) | ||||
| 		set_bit(TMR_RUNNING_TIMER, &ifmgd->timers_running); | ||||
| 
 | ||||
| 	if (del_timer_sync(&ifmgd->chswitch_timer)) | ||||
| 		set_bit(TMR_RUNNING_CHANSW, &ifmgd->timers_running); | ||||
| 	cancel_work_sync(&ifmgd->chswitch_work); | ||||
| } | ||||
| 
 | ||||
| void ieee80211_sta_restart(struct ieee80211_sub_if_data *sdata) | ||||
| { | ||||
| 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; | ||||
| 
 | ||||
| 	mutex_lock(&ifmgd->mtx); | ||||
| 	if (!ifmgd->associated) { | ||||
| 		mutex_unlock(&ifmgd->mtx); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	if (sdata->flags & IEEE80211_SDATA_DISCONNECT_RESUME) { | ||||
| 		sdata->flags &= ~IEEE80211_SDATA_DISCONNECT_RESUME; | ||||
| 		mlme_dbg(sdata, "driver requested disconnect after resume\n"); | ||||
| 		ieee80211_sta_connection_lost(sdata, | ||||
| 					      ifmgd->associated->bssid, | ||||
| 					      WLAN_REASON_UNSPECIFIED, | ||||
| 					      true); | ||||
| 		mutex_unlock(&ifmgd->mtx); | ||||
| 		return; | ||||
| 	} | ||||
| 	mutex_unlock(&ifmgd->mtx); | ||||
| 
 | ||||
| 	if (test_and_clear_bit(TMR_RUNNING_TIMER, &ifmgd->timers_running)) | ||||
| 		add_timer(&ifmgd->timer); | ||||
| 	if (test_and_clear_bit(TMR_RUNNING_CHANSW, &ifmgd->timers_running)) | ||||
| 		add_timer(&ifmgd->chswitch_timer); | ||||
| 	ieee80211_sta_reset_beacon_monitor(sdata); | ||||
| 
 | ||||
| 	mutex_lock(&sdata->local->mtx); | ||||
| 	ieee80211_restart_sta_timer(sdata); | ||||
| 	mutex_unlock(&sdata->local->mtx); | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| /* interface setup */ | ||||
| void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata) | ||||
| { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user