diff mbox series

wifi: iwlwifi: mvm: rfi: disable RFI feature

Message ID 20230430201830.2f8f88fe49f6.I2f0076ef1d1cbe5d10010549c875b7038ec4c365@changeid (mailing list archive)
State Accepted
Delegated to: Johannes Berg
Headers show
Series wifi: iwlwifi: mvm: rfi: disable RFI feature | expand

Commit Message

Greenman, Gregory April 30, 2023, 5:18 p.m. UTC
From: Gregory Greenman <gregory.greenman@intel.com>

This feature depends on a platform bugfix. Until we have a
mechanism that can verify a platform has the required bugfix,
disable RFI.

Fixes: ef3ed33dfc8f ("wifi: iwlwifi: bump FW API to 77 for AX devices")
Reported-by: Jeff Chua <jeff.chua.linux@gmail.com>
Link: https://lore.kernel.org/linux-wireless/CAAJw_ZvZdFpw9W2Hisc9c2BAFbYAnQuaFFaFG6N7qPUP2fOL_w@mail.gmail.com/
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/mvm/fw.c  |  3 +--
 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h |  1 +
 drivers/net/wireless/intel/iwlwifi/mvm/rfi.c | 16 +++++++++++++---
 3 files changed, 15 insertions(+), 5 deletions(-)

Comments

Jeff Chua April 30, 2023, 11:56 p.m. UTC | #1
On Mon, May 1, 2023 at 1:18 AM <gregory.greenman@intel.com> wrote:
>
> From: Gregory Greenman <gregory.greenman@intel.com>
>
> This feature depends on a platform bugfix. Until we have a
> mechanism that can verify a platform has the required bugfix,
> disable RFI.

Greg,

Patch applied and worked! Thank you!

Jeff


> Fixes: ef3ed33dfc8f ("wifi: iwlwifi: bump FW API to 77 for AX devices")
> Reported-by: Jeff Chua <jeff.chua.linux@gmail.com>
> Link: https://lore.kernel.org/linux-wireless/CAAJw_ZvZdFpw9W2Hisc9c2BAFbYAnQuaFFaFG6N7qPUP2fOL_w@mail.gmail.com/
> Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Jeff Chua May 4, 2023, 1:30 p.m. UTC | #2
On Mon, May 1, 2023 at 7:56 AM Jeff Chua <jeff.chua.linux@gmail.com> wrote:
>
> On Mon, May 1, 2023 at 1:18 AM <gregory.greenman@intel.com> wrote:
> >
> > From: Gregory Greenman <gregory.greenman@intel.com>
> >
> > This feature depends on a platform bugfix. Until we have a
> > mechanism that can verify a platform has the required bugfix,
> > disable RFI.
>
> Greg,
>
> Patch applied and worked! Thank you!

Only issue with that is I was in the office with EAP, and couldn't
connect to the WIFI. I'll need more time to bisect next week at the
office.

Jeff


> > Fixes: ef3ed33dfc8f ("wifi: iwlwifi: bump FW API to 77 for AX devices")
> > Reported-by: Jeff Chua <jeff.chua.linux@gmail.com>
> > Link: https://lore.kernel.org/linux-wireless/CAAJw_ZvZdFpw9W2Hisc9c2BAFbYAnQuaFFaFG6N7qPUP2fOL_w@mail.gmail.com/
> > Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Thorsten Leemhuis May 15, 2023, 9:10 a.m. UTC | #3
On 04.05.23 15:30, Jeff Chua wrote:
> On Mon, May 1, 2023 at 7:56 AM Jeff Chua <jeff.chua.linux@gmail.com> wrote:
>>
>> On Mon, May 1, 2023 at 1:18 AM <gregory.greenman@intel.com> wrote:
>>>
>>> From: Gregory Greenman <gregory.greenman@intel.com>
>>>
>>> This feature depends on a platform bugfix. Until we have a
>>> mechanism that can verify a platform has the required bugfix,
>>> disable RFI.

Hmm, looks from here like there was no progress with this for two weeks
now. :-/

>> Greg,
>>
>> Patch applied and worked! Thank you!
> 
> Only issue with that is I was in the office with EAP, and couldn't
> connect to the WIFI. I'll need more time to bisect next week at the
> office.

Jeff, did you ever look into this and check if that's due to the
proposed patch or some other change applied for 6.4? If it's (likely)
the latter it might be the best if we go ahead with this change and
handle the other problem separately.

Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
--
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
If I did something stupid, please tell me, as explained on that page.
Jeff Chua May 16, 2023, 3:30 p.m. UTC | #4
On Mon, May 15, 2023 at 5:10 PM Linux regression tracking (Thorsten
Leemhuis) <regressions@leemhuis.info> wrote:
>
> On 04.05.23 15:30, Jeff Chua wrote:
> > On Mon, May 1, 2023 at 7:56 AM Jeff Chua <jeff.chua.linux@gmail.com> wrote:
> >>
> >> On Mon, May 1, 2023 at 1:18 AM <gregory.greenman@intel.com> wrote:
> >>>
> >>> From: Gregory Greenman <gregory.greenman@intel.com>
> >>>
> >>> This feature depends on a platform bugfix. Until we have a
> >>> mechanism that can verify a platform has the required bugfix,
> >>> disable RFI.
>
> Hmm, looks from here like there was no progress with this for two weeks
> now. :-/

I've tried the latest git pull linux, applied the patch from Greg, it
works fine on WPA2, but not on EAP. Just couldn't connect. Reverted
the patch, and downgrade IWL_22000_UCODE_API_MAX from 78 to 75, and
EAP works again.


>
> >> Greg,
> >>
> >> Patch applied and worked! Thank you!
> >
> > Only issue with that is I was in the office with EAP, and couldn't
> > connect to the WIFI. I'll need more time to bisect next week at the
> > office.
>
> Jeff, did you ever look into this and check if that's due to the
> proposed patch or some other change applied for 6.4? If it's (likely)
> the latter it might be the best if we go ahead with this change and
> handle the other problem separately.
>
> Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
> --
> Everything you wanna know about Linux kernel regression tracking:
> https://linux-regtracking.leemhuis.info/about/#tldr
> If I did something stupid, please tell me, as explained on that page.
diff mbox series

Patch

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
index b35c96cf7ad2..e2573a9d6f27 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
@@ -1727,8 +1727,7 @@  int iwl_mvm_up(struct iwl_mvm *mvm)
 	iwl_mvm_tas_init(mvm);
 	iwl_mvm_leds_sync(mvm);
 
-	if (fw_has_capa(&mvm->fw->ucode_capa,
-			IWL_UCODE_TLV_CAPA_RFIM_SUPPORT)) {
+	if (iwl_rfi_supported(mvm)) {
 		if (iwl_mvm_eval_dsm_rfi(mvm) == DSM_VALUE_RFI_ENABLE)
 			iwl_rfi_send_config_cmd(mvm, NULL);
 	}
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
index 6e7470d3a826..9e5008e0e47f 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
@@ -2347,6 +2347,7 @@  int iwl_mvm_mld_update_sta_keys(struct iwl_mvm *mvm,
 				u32 old_sta_mask,
 				u32 new_sta_mask);
 
+bool iwl_rfi_supported(struct iwl_mvm *mvm);
 int iwl_rfi_send_config_cmd(struct iwl_mvm *mvm,
 			    struct iwl_rfi_lut_entry *rfi_table);
 struct iwl_rfi_freq_table_resp_cmd *iwl_rfi_get_freq_table(struct iwl_mvm *mvm);
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rfi.c b/drivers/net/wireless/intel/iwlwifi/mvm/rfi.c
index bb77bc9aa821..2ecd32bed752 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/rfi.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/rfi.c
@@ -1,6 +1,6 @@ 
 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
 /*
- * Copyright (C) 2020 - 2021 Intel Corporation
+ * Copyright (C) 2020 - 2022 Intel Corporation
  */
 
 #include "mvm.h"
@@ -70,6 +70,16 @@  static const struct iwl_rfi_lut_entry iwl_rfi_table[IWL_RFI_LUT_SIZE] = {
 		PHY_BAND_6, PHY_BAND_6,}},
 };
 
+bool iwl_rfi_supported(struct iwl_mvm *mvm)
+{
+	/* The feature depends on a platform bugfix, so for now
+	 * it's always disabled.
+	 * When the platform support detection is implemented we should
+	 * check FW TLV and platform support instead.
+	 */
+	return false;
+}
+
 int iwl_rfi_send_config_cmd(struct iwl_mvm *mvm, struct iwl_rfi_lut_entry *rfi_table)
 {
 	int ret;
@@ -81,7 +91,7 @@  int iwl_rfi_send_config_cmd(struct iwl_mvm *mvm, struct iwl_rfi_lut_entry *rfi_t
 		.len[0] = sizeof(cmd),
 	};
 
-	if (!fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_RFIM_SUPPORT))
+	if (!iwl_rfi_supported(mvm))
 		return -EOPNOTSUPP;
 
 	lockdep_assert_held(&mvm->mutex);
@@ -113,7 +123,7 @@  struct iwl_rfi_freq_table_resp_cmd *iwl_rfi_get_freq_table(struct iwl_mvm *mvm)
 		.flags = CMD_WANT_SKB,
 	};
 
-	if (!fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_RFIM_SUPPORT))
+	if (!iwl_rfi_supported(mvm))
 		return ERR_PTR(-EOPNOTSUPP);
 
 	mutex_lock(&mvm->mutex);