diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-02-10 15:25:42 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-02-13 13:45:27 -0500 |
commit | 14b80724367dfdc86f4807461dd1f7f2dd630416 (patch) | |
tree | 2a1050703b8ccf73dbf5fb3b7c777997fba5a437 /net/mac80211/scan.c | |
parent | 60b22511921fe79b2a94a27c09cadfd32fcef5d5 (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/scan.c')
-rw-r--r-- | net/mac80211/scan.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c index 50719ea08172..eddca4e1e13c 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) { |