cfg80211: enable use of non-cleared DFS channels for DFS offload
Currently channel switch/start_ap to DFS channel cannot be done to non-CAC-cleared channel even if DFS offload if enabled. Make non-cleared DFS channels available if DFS offload is enabled. CAC will be started by HW after channel change, start_ap call, etc. Signed-off-by: Dmitry Lebed <dlebed@quantenna.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
850964519a
commit
2c390e44e4
|
@ -579,6 +579,10 @@ static bool cfg80211_get_chans_dfs_available(struct wiphy *wiphy,
|
||||||
{
|
{
|
||||||
struct ieee80211_channel *c;
|
struct ieee80211_channel *c;
|
||||||
u32 freq, start_freq, end_freq;
|
u32 freq, start_freq, end_freq;
|
||||||
|
bool dfs_offload;
|
||||||
|
|
||||||
|
dfs_offload = wiphy_ext_feature_isset(wiphy,
|
||||||
|
NL80211_EXT_FEATURE_DFS_OFFLOAD);
|
||||||
|
|
||||||
start_freq = cfg80211_get_start_freq(center_freq, bandwidth);
|
start_freq = cfg80211_get_start_freq(center_freq, bandwidth);
|
||||||
end_freq = cfg80211_get_end_freq(center_freq, bandwidth);
|
end_freq = cfg80211_get_end_freq(center_freq, bandwidth);
|
||||||
|
@ -597,7 +601,8 @@ static bool cfg80211_get_chans_dfs_available(struct wiphy *wiphy,
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if ((c->flags & IEEE80211_CHAN_RADAR) &&
|
if ((c->flags & IEEE80211_CHAN_RADAR) &&
|
||||||
(c->dfs_state != NL80211_DFS_AVAILABLE))
|
(c->dfs_state != NL80211_DFS_AVAILABLE) &&
|
||||||
|
!(c->dfs_state == NL80211_DFS_USABLE && dfs_offload))
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue