diff options
Diffstat (limited to 'net/mac80211/pm.c')
-rw-r--r-- | net/mac80211/pm.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/net/mac80211/pm.c b/net/mac80211/pm.c index e535f1c988fe..47f818959ad7 100644 --- a/net/mac80211/pm.c +++ b/net/mac80211/pm.c | |||
@@ -10,7 +10,6 @@ int __ieee80211_suspend(struct ieee80211_hw *hw) | |||
10 | { | 10 | { |
11 | struct ieee80211_local *local = hw_to_local(hw); | 11 | struct ieee80211_local *local = hw_to_local(hw); |
12 | struct ieee80211_sub_if_data *sdata; | 12 | struct ieee80211_sub_if_data *sdata; |
13 | struct ieee80211_if_init_conf conf; | ||
14 | struct sta_info *sta; | 13 | struct sta_info *sta; |
15 | unsigned long flags; | 14 | unsigned long flags; |
16 | 15 | ||
@@ -65,7 +64,7 @@ int __ieee80211_suspend(struct ieee80211_hw *hw) | |||
65 | struct ieee80211_sub_if_data, | 64 | struct ieee80211_sub_if_data, |
66 | u.ap); | 65 | u.ap); |
67 | 66 | ||
68 | drv_sta_notify(local, &sdata->vif, STA_NOTIFY_REMOVE, | 67 | drv_sta_notify(local, sdata, STA_NOTIFY_REMOVE, |
69 | &sta->sta); | 68 | &sta->sta); |
70 | } | 69 | } |
71 | 70 | ||
@@ -93,17 +92,14 @@ int __ieee80211_suspend(struct ieee80211_hw *hw) | |||
93 | break; | 92 | break; |
94 | } | 93 | } |
95 | 94 | ||
96 | if (!netif_running(sdata->dev)) | 95 | if (!ieee80211_sdata_running(sdata)) |
97 | continue; | 96 | continue; |
98 | 97 | ||
99 | /* disable beaconing */ | 98 | /* disable beaconing */ |
100 | ieee80211_bss_info_change_notify(sdata, | 99 | ieee80211_bss_info_change_notify(sdata, |
101 | BSS_CHANGED_BEACON_ENABLED); | 100 | BSS_CHANGED_BEACON_ENABLED); |
102 | 101 | ||
103 | conf.vif = &sdata->vif; | 102 | drv_remove_interface(local, &sdata->vif); |
104 | conf.type = sdata->vif.type; | ||
105 | conf.mac_addr = sdata->dev->dev_addr; | ||
106 | drv_remove_interface(local, &conf); | ||
107 | } | 103 | } |
108 | 104 | ||
109 | /* stop hardware - this must stop RX */ | 105 | /* stop hardware - this must stop RX */ |