Message ID | 20230430201830.2f8f88fe49f6.I2f0076ef1d1cbe5d10010549c875b7038ec4c365@changeid |
---|---|
State | New |
Headers | show |
Series | wifi: iwlwifi: mvm: rfi: disable RFI feature | expand |
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>
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.
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 --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);