diff options
author | Helmut Schaa <helmut.schaa@googlemail.com> | 2009-07-25 11:25:51 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-07-29 15:46:07 -0400 |
commit | 0ee9c13c7c92581ab005d80795cf65897213b249 (patch) | |
tree | 835e48c69fc06f0f02f37635bce4267720224b5f /net/mac80211/scan.c | |
parent | c0b2bbd833a5a26b5a9425cb9a7eb66bbe736dd1 (diff) |
mac80211: fix an oops in ieee80211_scan_state_set_channel
Fix an oops in ieee80211_scan_state_set_channel which was triggered
if the last scanned channel was skipped (for example due to regulatory
restrictions) by returning to the decision state after each skipped
channel.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/scan.c')
-rw-r--r-- | net/mac80211/scan.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c index b376775e722f..147772a2977c 100644 --- a/net/mac80211/scan.c +++ b/net/mac80211/scan.c | |||
@@ -605,8 +605,11 @@ static void ieee80211_scan_state_set_channel(struct ieee80211_local *local, | |||
605 | /* advance state machine to next channel/band */ | 605 | /* advance state machine to next channel/band */ |
606 | local->scan_channel_idx++; | 606 | local->scan_channel_idx++; |
607 | 607 | ||
608 | if (skip) | 608 | if (skip) { |
609 | /* if we skip this channel return to the decision state */ | ||
610 | local->next_scan_state = SCAN_DECISION; | ||
609 | return; | 611 | return; |
612 | } | ||
610 | 613 | ||
611 | /* | 614 | /* |
612 | * Probe delay is used to update the NAV, cf. 11.1.3.2.2 | 615 | * Probe delay is used to update the NAV, cf. 11.1.3.2.2 |