aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-02-10 15:25:42 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-02-13 13:45:27 -0500
commit14b80724367dfdc86f4807461dd1f7f2dd630416 (patch)
tree2a1050703b8ccf73dbf5fb3b7c777997fba5a437 /net/mac80211
parent60b22511921fe79b2a94a27c09cadfd32fcef5d5 (diff)
mac80211: fix beacon enable more
Hopefully the last required fix ... disable beaconing only on beaconing interfaces, and thus avoid calling ieee80211_if_config for purely virtual interfaces (those driver doesn't know about). Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/scan.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
index 50719ea0817..eddca4e1e13 100644
--- a/net/mac80211/scan.c
+++ b/net/mac80211/scan.c
@@ -500,7 +500,12 @@ void ieee80211_scan_completed(struct ieee80211_hw *hw)
500 } else 500 } else
501 netif_tx_wake_all_queues(sdata->dev); 501 netif_tx_wake_all_queues(sdata->dev);
502 502
503 ieee80211_if_config(sdata, IEEE80211_IFCC_BEACON_ENABLED); 503 /* re-enable beaconing */
504 if (sdata->vif.type == NL80211_IFTYPE_AP ||
505 sdata->vif.type == NL80211_IFTYPE_ADHOC ||
506 sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
507 ieee80211_if_config(sdata,
508 IEEE80211_IFCC_BEACON_ENABLED);
504 } 509 }
505 mutex_unlock(&local->iflist_mtx); 510 mutex_unlock(&local->iflist_mtx);
506 511
@@ -656,7 +661,12 @@ int ieee80211_start_scan(struct ieee80211_sub_if_data *scan_sdata,
656 if (!netif_running(sdata->dev)) 661 if (!netif_running(sdata->dev))
657 continue; 662 continue;
658 663
659 ieee80211_if_config(sdata, IEEE80211_IFCC_BEACON_ENABLED); 664 /* disable beaconing */
665 if (sdata->vif.type == NL80211_IFTYPE_AP ||
666 sdata->vif.type == NL80211_IFTYPE_ADHOC ||
667 sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
668 ieee80211_if_config(sdata,
669 IEEE80211_IFCC_BEACON_ENABLED);
660 670
661 if (sdata->vif.type == NL80211_IFTYPE_STATION) { 671 if (sdata->vif.type == NL80211_IFTYPE_STATION) {
662 if (sdata->u.sta.flags & IEEE80211_STA_ASSOCIATED) { 672 if (sdata->u.sta.flags & IEEE80211_STA_ASSOCIATED) {