diff options
author | David Woodhouse <dwmw2@infradead.org> | 2006-03-23 09:03:00 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2006-03-23 16:18:47 -0500 |
commit | 4edac92fcf5956b0ef52fb281207863902e430bc (patch) | |
tree | db4539351c227c70504294715885a20bd3e60a05 /net/ieee80211 | |
parent | 9320199957cebc39ccef372fa1fccf5ba3d3fd7d (diff) |
[PATCH] Restore channel setting after scan.
After a scan, we weren't switching back to the original channel if we
were associated with an AP. So NetworkManager's periodic scans would
disrupt connectivity until the ESSID was manually set again. Fix that.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/ieee80211')
-rw-r--r-- | net/ieee80211/softmac/ieee80211softmac_scan.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/ieee80211/softmac/ieee80211softmac_scan.c b/net/ieee80211/softmac/ieee80211softmac_scan.c index 290ddb0951d6..bb9ab8b45d09 100644 --- a/net/ieee80211/softmac/ieee80211softmac_scan.c +++ b/net/ieee80211/softmac/ieee80211softmac_scan.c | |||
@@ -232,6 +232,13 @@ void ieee80211softmac_scan_finished(struct ieee80211softmac_device *sm) | |||
232 | sm->scanning = 0; | 232 | sm->scanning = 0; |
233 | spin_unlock_irqrestore(&sm->lock, flags); | 233 | spin_unlock_irqrestore(&sm->lock, flags); |
234 | 234 | ||
235 | if (sm->associnfo.bssvalid) { | ||
236 | struct ieee80211softmac_network *net; | ||
237 | |||
238 | net = ieee80211softmac_get_network_by_bssid(sm, sm->associnfo.bssid); | ||
239 | if (net) | ||
240 | sm->set_channel(sm->dev, net->channel); | ||
241 | } | ||
235 | ieee80211softmac_call_events(sm, IEEE80211SOFTMAC_EVENT_SCAN_FINISHED, NULL); | 242 | ieee80211softmac_call_events(sm, IEEE80211SOFTMAC_EVENT_SCAN_FINISHED, NULL); |
236 | } | 243 | } |
237 | EXPORT_SYMBOL_GPL(ieee80211softmac_scan_finished); | 244 | EXPORT_SYMBOL_GPL(ieee80211softmac_scan_finished); |