|
@@ -597,8 +597,8 @@ static int __ieee80211_start_scan(struct ieee80211_sub_if_data *sdata,
|
|
|
/* We need to ensure power level is at max for scanning. */
|
|
|
ieee80211_hw_config(local, 0);
|
|
|
|
|
|
- if ((req->channels[0]->flags &
|
|
|
- IEEE80211_CHAN_NO_IR) ||
|
|
|
+ if ((req->channels[0]->flags & (IEEE80211_CHAN_NO_IR |
|
|
|
+ IEEE80211_CHAN_RADAR)) ||
|
|
|
!req->n_ssids) {
|
|
|
next_delay = IEEE80211_PASSIVE_CHANNEL_TIME;
|
|
|
} else {
|
|
@@ -645,7 +645,7 @@ ieee80211_scan_get_channel_time(struct ieee80211_channel *chan)
|
|
|
* TODO: channel switching also consumes quite some time,
|
|
|
* add that delay as well to get a better estimation
|
|
|
*/
|
|
|
- if (chan->flags & IEEE80211_CHAN_NO_IR)
|
|
|
+ if (chan->flags & (IEEE80211_CHAN_NO_IR | IEEE80211_CHAN_RADAR))
|
|
|
return IEEE80211_PASSIVE_CHANNEL_TIME;
|
|
|
return IEEE80211_PROBE_DELAY + IEEE80211_CHANNEL_TIME;
|
|
|
}
|
|
@@ -777,7 +777,8 @@ static void ieee80211_scan_state_set_channel(struct ieee80211_local *local,
|
|
|
*
|
|
|
* In any case, it is not necessary for a passive scan.
|
|
|
*/
|
|
|
- if (chan->flags & IEEE80211_CHAN_NO_IR || !scan_req->n_ssids) {
|
|
|
+ if ((chan->flags & (IEEE80211_CHAN_NO_IR | IEEE80211_CHAN_RADAR)) ||
|
|
|
+ !scan_req->n_ssids) {
|
|
|
*next_delay = IEEE80211_PASSIVE_CHANNEL_TIME;
|
|
|
local->next_scan_state = SCAN_DECISION;
|
|
|
return;
|