diff options
author | Andrei Otcheretianski <andrei.otcheretianski@intel.com> | 2023-12-19 21:58:51 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2023-12-21 20:35:16 +0100 |
commit | 308cc451ef37003ee2e4ce373993f3bd5117e36f (patch) | |
tree | fd921ee36a8af07d76a119336620f20ec817987c /drivers/net/wireless | |
parent | a1910a7ffd171f9852af6d5408575609f381b2ad (diff) |
wifi: iwlwifi: Don't mark DFS channels as NO-IR
The NVM_CHANNEL_ACTIVE bit means that active scanning/beaconing is
allowed, however it's not an exact opposite of IEEE80211_CHAN_NO_IR.
For example, NVM_CHANNEL_ACTIVE bit is not set on DFS channels, while
cfg80211 doesn't really expect NO-IR on DFS channels.
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Reviewed-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20231219215605.94cd9b96a532.Ifb0e8d8a6a6384493758f26b811d58432536101a@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c index 1bccbbe9a5ea..402896988686 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c @@ -1612,8 +1612,13 @@ static u32 iwl_nvm_get_regdom_bw_flags(const u16 *nvm_chan, if ((nvm_flags & NVM_CHANNEL_GO_CONCURRENT)) { if (flags & NL80211_RRF_NO_IR) flags |= NL80211_RRF_GO_CONCURRENT; - if (flags & NL80211_RRF_DFS) + if (flags & NL80211_RRF_DFS) { flags |= NL80211_RRF_DFS_CONCURRENT; + /* Our device doesn't set active bit for DFS channels + * however, once marked as DFS no-ir is not needed. + */ + flags &= ~NL80211_RRF_NO_IR; + } } /* * reg_capa is per regulatory domain so apply it for every channel |