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>
This commit is contained in:
parent
180d9fc334
commit
fea2a613cf
|
@ -437,18 +437,19 @@ wl1271_scan_get_sched_scan_channels(struct wl1271 *wl,
|
|||
|
||||
if (flags & IEEE80211_CHAN_RADAR) {
|
||||
channels[j].flags |= SCAN_CHANNEL_FLAGS_DFS;
|
||||
|
||||
channels[j].passive_duration =
|
||||
cpu_to_le16(c->dwell_time_dfs);
|
||||
}
|
||||
else if (flags & IEEE80211_CHAN_PASSIVE_SCAN) {
|
||||
} else {
|
||||
channels[j].passive_duration =
|
||||
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].channel = req->channels[i]->hw_value;
|
||||
|
||||
|
|
Loading…
Reference in New Issue