drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
From: Arnd Bergmann <arnd@arndb.de>
This is one of only three -Wenum-compare-conditional warnings we get
in randconfig builds:
drivers/net/wireless/intel/iwlwifi/mvm/sta.c:4331:17: error: conditional expression between different enumeration types ('enum iwl_fw_sta_type' and 'enum iwl_sta_type') [-Werror,-Wenum-compare-conditional]
4331 | u32 type = mld ? STATION_TYPE_PEER : IWL_STA_LINK;
| ^ ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
This is a false positive since the code works as intended, but the
warning is otherwise sensible, so slightly rewrite it in order to
not trigger the warning.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
I also tried a more complex approach of splitting the function into
two separate ones, since the 'mld' behavior is already quite different
from the other path. The version I post here ended up looking simpler
to me, but I can also send the other one if the maintainers prefer.
---
drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
index b6c99cd6d9e5..9d05c344d967 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
@@ -4328,7 +4328,10 @@ int iwl_mvm_add_pasn_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
unsigned int wdg_timeout =
iwl_mvm_get_wd_timeout(mvm, vif);
bool mld = iwl_mvm_has_mld_api(mvm->fw);
- u32 type = mld ? STATION_TYPE_PEER : IWL_STA_LINK;
+ u32 type = IWL_STA_LINK;
+
+ if (mld)
+ type = STATION_TYPE_PEER;
ret = iwl_mvm_allocate_int_sta(mvm, sta, 0,
NL80211_IFTYPE_UNSPECIFIED, type);
--
2.39.5
Arnd Bergmann <arnd@kernel.org> writes:
> From: Arnd Bergmann <arnd@arndb.de>
>
> This is one of only three -Wenum-compare-conditional warnings we get
> in randconfig builds:
>
> drivers/net/wireless/intel/iwlwifi/mvm/sta.c:4331:17: error: conditional expression between different enumeration types ('enum iwl_fw_sta_type' and 'enum iwl_sta_type') [-Werror,-Wenum-compare-conditional]
> 4331 | u32 type = mld ? STATION_TYPE_PEER : IWL_STA_LINK;
> | ^ ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
>
> This is a false positive since the code works as intended, but the
> warning is otherwise sensible, so slightly rewrite it in order to
> not trigger the warning.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Is this and the other rtw89 patch for current release or -next?
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
On Fri, Oct 18, 2024, at 16:06, Kalle Valo wrote:
> Arnd Bergmann <arnd@kernel.org> writes:
>
>> From: Arnd Bergmann <arnd@arndb.de>
>>
>> This is one of only three -Wenum-compare-conditional warnings we get
>> in randconfig builds:
>>
>> drivers/net/wireless/intel/iwlwifi/mvm/sta.c:4331:17: error: conditional expression between different enumeration types ('enum iwl_fw_sta_type' and 'enum iwl_sta_type') [-Werror,-Wenum-compare-conditional]
>> 4331 | u32 type = mld ? STATION_TYPE_PEER : IWL_STA_LINK;
>> | ^ ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
>>
>> This is a false positive since the code works as intended, but the
>> warning is otherwise sensible, so slightly rewrite it in order to
>> not trigger the warning.
>>
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>
> Is this and the other rtw89 patch for current release or -next?
Up to you, the warning has existed for a long time at W=1
level, so the patch applies to current and stable kernels
as well, but it's not a regression or particularly important.
It would be nice to turn on the warning by default in 6.13
once the three patches I sent get applied.
Arnd
"Arnd Bergmann" <arnd@arndb.de> writes:
> On Fri, Oct 18, 2024, at 16:06, Kalle Valo wrote:
>> Arnd Bergmann <arnd@kernel.org> writes:
>>
>>> From: Arnd Bergmann <arnd@arndb.de>
>>>
>>> This is one of only three -Wenum-compare-conditional warnings we get
>>> in randconfig builds:
>>>
>>> drivers/net/wireless/intel/iwlwifi/mvm/sta.c:4331:17: error: conditional expression between different enumeration types ('enum iwl_fw_sta_type' and 'enum iwl_sta_type') [-Werror,-Wenum-compare-conditional]
>>> 4331 | u32 type = mld ? STATION_TYPE_PEER : IWL_STA_LINK;
>>> | ^ ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
>>>
>>> This is a false positive since the code works as intended, but the
>>> warning is otherwise sensible, so slightly rewrite it in order to
>>> not trigger the warning.
>>>
>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>
>> Is this and the other rtw89 patch for current release or -next?
>
> Up to you, the warning has existed for a long time at W=1
> level, so the patch applies to current and stable kernels
> as well, but it's not a regression or particularly important.
Ok, I guess -next is more approriate then.
> It would be nice to turn on the warning by default in 6.13
> once the three patches I sent get applied.
It's not certain if driver specific trees make it to v6.13 so should the
patches applied directly to wireless-next?
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
© 2016 - 2026 Red Hat, Inc.