diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/ieee80211_ioctl.c | 2 | ||||
-rw-r--r-- | net/mac80211/ieee80211_sta.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/net/mac80211/ieee80211_ioctl.c b/net/mac80211/ieee80211_ioctl.c index 8e8e5a19d893..5af23d318726 100644 --- a/net/mac80211/ieee80211_ioctl.c +++ b/net/mac80211/ieee80211_ioctl.c | |||
@@ -287,7 +287,7 @@ int ieee80211_set_freq(struct ieee80211_local *local, int freqMHz) | |||
287 | if (chan && !(chan->flags & IEEE80211_CHAN_DISABLED)) { | 287 | if (chan && !(chan->flags & IEEE80211_CHAN_DISABLED)) { |
288 | local->oper_channel = chan; | 288 | local->oper_channel = chan; |
289 | 289 | ||
290 | if (local->sta_sw_scanning) | 290 | if (local->sta_sw_scanning || local->sta_hw_scanning) |
291 | ret = 0; | 291 | ret = 0; |
292 | else | 292 | else |
293 | ret = ieee80211_hw_config(local); | 293 | ret = ieee80211_hw_config(local); |
diff --git a/net/mac80211/ieee80211_sta.c b/net/mac80211/ieee80211_sta.c index fc73ca4abc08..bf130b6255ab 100644 --- a/net/mac80211/ieee80211_sta.c +++ b/net/mac80211/ieee80211_sta.c | |||
@@ -3615,6 +3615,9 @@ void ieee80211_scan_completed(struct ieee80211_hw *hw) | |||
3615 | 3615 | ||
3616 | if (local->sta_hw_scanning) { | 3616 | if (local->sta_hw_scanning) { |
3617 | local->sta_hw_scanning = 0; | 3617 | local->sta_hw_scanning = 0; |
3618 | if (ieee80211_hw_config(local)) | ||
3619 | printk(KERN_DEBUG "%s: failed to restore operational " | ||
3620 | "channel after scan\n", dev->name); | ||
3618 | /* Restart STA timer for HW scan case */ | 3621 | /* Restart STA timer for HW scan case */ |
3619 | rcu_read_lock(); | 3622 | rcu_read_lock(); |
3620 | list_for_each_entry_rcu(sdata, &local->interfaces, list) | 3623 | list_for_each_entry_rcu(sdata, &local->interfaces, list) |