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>
This commit is contained in:
Helmut Schaa 2009-07-25 17:25:51 +02:00 committed by John W. Linville
parent c0b2bbd833
commit 0ee9c13c7c

View File

@ -605,8 +605,11 @@ static void ieee80211_scan_state_set_channel(struct ieee80211_local *local,
/* advance state machine to next channel/band */ /* advance state machine to next channel/band */
local->scan_channel_idx++; local->scan_channel_idx++;
if (skip) if (skip) {
/* if we skip this channel return to the decision state */
local->next_scan_state = SCAN_DECISION;
return; return;
}
/* /*
* Probe delay is used to update the NAV, cf. 11.1.3.2.2 * Probe delay is used to update the NAV, cf. 11.1.3.2.2