diff mbox series

[03/14] wifi: iwlwifi: Don't mark DFS channels as NO-IR

Message ID 20231219215605.94cd9b96a532.Ifb0e8d8a6a6384493758f26b811d58432536101a@changeid (mailing list archive)
State Accepted
Delegated to: Johannes Berg
Headers show
Series wifi: iwlwifi: updates - 2023-12-06 | expand

Commit Message

Miri Korenblit Dec. 19, 2023, 7:58 p.m. UTC
From: Andrei Otcheretianski <andrei.otcheretianski@intel.com>

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>
---
 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
diff mbox series

Patch

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