aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mlme.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r--net/mac80211/mlme.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 29620bfc7a69..8a948ca55d80 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -3623,6 +3623,31 @@ static void ieee80211_restart_sta_timer(struct ieee80211_sub_if_data *sdata)
3623 } 3623 }
3624} 3624}
3625 3625
3626#ifdef CONFIG_PM
3627void ieee80211_sta_restart(struct ieee80211_sub_if_data *sdata)
3628{
3629 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
3630
3631 mutex_lock(&ifmgd->mtx);
3632 if (!ifmgd->associated) {
3633 mutex_unlock(&ifmgd->mtx);
3634 return;
3635 }
3636
3637 if (sdata->flags & IEEE80211_SDATA_DISCONNECT_RESUME) {
3638 sdata->flags &= ~IEEE80211_SDATA_DISCONNECT_RESUME;
3639 mlme_dbg(sdata, "driver requested disconnect after resume\n");
3640 ieee80211_sta_connection_lost(sdata,
3641 ifmgd->associated->bssid,
3642 WLAN_REASON_UNSPECIFIED,
3643 true);
3644 mutex_unlock(&ifmgd->mtx);
3645 return;
3646 }
3647 mutex_unlock(&ifmgd->mtx);
3648}
3649#endif
3650
3626/* interface setup */ 3651/* interface setup */
3627void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata) 3652void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata)
3628{ 3653{