Commit fea2a613 authored by Eyal Shapira's avatar Eyal Shapira Committed by Luciano Coelho

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: default avatarEyal Shapira <eyal@wizery.com>
Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
parent 180d9fc3
...@@ -437,18 +437,19 @@ wl1271_scan_get_sched_scan_channels(struct wl1271 *wl, ...@@ -437,18 +437,19 @@ wl1271_scan_get_sched_scan_channels(struct wl1271 *wl,
if (flags & IEEE80211_CHAN_RADAR) { if (flags & IEEE80211_CHAN_RADAR) {
channels[j].flags |= SCAN_CHANNEL_FLAGS_DFS; channels[j].flags |= SCAN_CHANNEL_FLAGS_DFS;
channels[j].passive_duration = channels[j].passive_duration =
cpu_to_le16(c->dwell_time_dfs); cpu_to_le16(c->dwell_time_dfs);
} } else {
else if (flags & IEEE80211_CHAN_PASSIVE_SCAN) {
channels[j].passive_duration = channels[j].passive_duration =
cpu_to_le16(c->dwell_time_passive); cpu_to_le16(c->dwell_time_passive);
} else {
channels[j].min_duration =
cpu_to_le16(c->min_dwell_time_active);
channels[j].max_duration =
cpu_to_le16(c->max_dwell_time_active);
} }
channels[j].min_duration =
cpu_to_le16(c->min_dwell_time_active);
channels[j].max_duration =
cpu_to_le16(c->max_dwell_time_active);
channels[j].tx_power_att = req->channels[i]->max_power; channels[j].tx_power_att = req->channels[i]->max_power;
channels[j].channel = req->channels[i]->hw_value; channels[j].channel = req->channels[i]->hw_value;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment