diff options
author | Eyal Shapira <eyal@wizery.com> | 2011-12-20 05:04:01 -0500 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-12-20 15:30:16 -0500 |
commit | fea2a613cf33ee0662e413e2f5697bed36d5029e (patch) | |
tree | ccd75835450682ffbfe4de855f50f15bde012d2e /drivers/net | |
parent | 180d9fc3348e049f447969a9891ad166021f00ca (diff) |
wl12xx: fix sched scan of DFS channels
DFS channels weren't scanned properly because
min/max_duration weren't set for these channels
even though they're required by the FW.
The change sets passive_duration and min/max_duration
for all channels as the FW uses the correct parameters
according to the channel type.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/wl12xx/scan.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/net/wireless/wl12xx/scan.c b/drivers/net/wireless/wl12xx/scan.c index 108765ab7755..05dca0c1d442 100644 --- a/drivers/net/wireless/wl12xx/scan.c +++ b/drivers/net/wireless/wl12xx/scan.c | |||
@@ -437,18 +437,19 @@ wl1271_scan_get_sched_scan_channels(struct wl1271 *wl, | |||
437 | 437 | ||
438 | if (flags & IEEE80211_CHAN_RADAR) { | 438 | if (flags & IEEE80211_CHAN_RADAR) { |
439 | channels[j].flags |= SCAN_CHANNEL_FLAGS_DFS; | 439 | channels[j].flags |= SCAN_CHANNEL_FLAGS_DFS; |
440 | |||
440 | channels[j].passive_duration = | 441 | channels[j].passive_duration = |
441 | cpu_to_le16(c->dwell_time_dfs); | 442 | cpu_to_le16(c->dwell_time_dfs); |
442 | } | 443 | } else { |
443 | else if (flags & IEEE80211_CHAN_PASSIVE_SCAN) { | ||
444 | channels[j].passive_duration = | 444 | channels[j].passive_duration = |
445 | cpu_to_le16(c->dwell_time_passive); | 445 | cpu_to_le16(c->dwell_time_passive); |
446 | } else { | ||
447 | channels[j].min_duration = | ||
448 | cpu_to_le16(c->min_dwell_time_active); | ||
449 | channels[j].max_duration = | ||
450 | cpu_to_le16(c->max_dwell_time_active); | ||
451 | } | 446 | } |
447 | |||
448 | channels[j].min_duration = | ||
449 | cpu_to_le16(c->min_dwell_time_active); | ||
450 | channels[j].max_duration = | ||
451 | cpu_to_le16(c->max_dwell_time_active); | ||
452 | |||
452 | channels[j].tx_power_att = req->channels[i]->max_power; | 453 | channels[j].tx_power_att = req->channels[i]->max_power; |
453 | channels[j].channel = req->channels[i]->hw_value; | 454 | channels[j].channel = req->channels[i]->hw_value; |
454 | 455 | ||