diff options
author | Luciano Coelho <luciano.coelho@nokia.com> | 2010-07-08 10:50:07 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-07-08 16:42:09 -0400 |
commit | 08688d6b1a85484cc8e4a920afc60ffa6559999d (patch) | |
tree | 351ee3682ce623e15627df59aa50935ab6159ffe /drivers/net/wireless/wl12xx/wl1271_event.c | |
parent | 34dd2aaac4a4b908c093980a9894fd878aeb6deb (diff) |
wl1271: rewritten scanning code
This patch is a complete rewrite of the scanning code. It now includes a
state machine to scan all four possible sets of channels independently:
2.4GHz active, 2.4GHz passive, 5GHz active and 5GHz passive. The wl1271
firmware doesn't allow these sets to be mixed, so up to several scan commands
have to be issued. This patch also allows scanning more than 24 channels per
set, by breaking the sets into smaller parts if needed (the firmware can scan
a maximum of 24 channels at a time).
Previously, the scanning code was erroneously scanning all channels possible
actively, not complying with the CRDA values. This is also fixed with this
patch.
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: Saravanan Dhanabal <ext-saravanan.dhanabal@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1271_event.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/wl1271_event.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_event.c b/drivers/net/wireless/wl12xx/wl1271_event.c index 3bdae892c29e..25ce2cd5e3f3 100644 --- a/drivers/net/wireless/wl12xx/wl1271_event.c +++ b/drivers/net/wireless/wl12xx/wl1271_event.c | |||
@@ -194,9 +194,7 @@ static int wl1271_event_process(struct wl1271 *wl, struct event_mailbox *mbox) | |||
194 | wl1271_debug(DEBUG_EVENT, "status: 0x%x", | 194 | wl1271_debug(DEBUG_EVENT, "status: 0x%x", |
195 | mbox->scheduled_scan_status); | 195 | mbox->scheduled_scan_status); |
196 | 196 | ||
197 | ret = wl1271_scan_complete(wl); | 197 | wl1271_scan_stm(wl); |
198 | if (ret < 0) | ||
199 | return ret; | ||
200 | } | 198 | } |
201 | 199 | ||
202 | /* disable dynamic PS when requested by the firmware */ | 200 | /* disable dynamic PS when requested by the firmware */ |