iwlwifi: work around -Wenum-compare-conditional warning
PATCH 1/1 iwlwifi: work around -Wenum-compare-conditional warning
From: Arnd Bergmann <[email protected]>
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.
---
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(-)
drivers/net/wireless/intel/iwlwifi/mvm/sta.c +4 -1
@@ -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);
Signature · 1 line
2.39.5
Quoted 6 lines · Arnd Bergmann
From: Arnd Bergmann <[email protected]>
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 ('enumiwl_fw_sta_type' and 'enumiwl_sta_type') [-Werror,-Wenum-compare-conditional]
Quoted 8 lines
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 <[email protected]>
Is this and the other rtw89 patch for current release or -next?
Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Quoted 11 lines · Kalle Valo
Quoted 9 lines · Arnd Bergmann
From: Arnd Bergmann <[email protected]>
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 ('enumiwl_fw_sta_type' and 'enumiwl_sta_type') [-Werror,-Wenum-compare-conditional]4331 | u32 type = mld ? STATION_TYPE_PEER : IWL_STA_LINK; | ^ ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
Quoted 7 lines
Quoted 5 lines
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 <[email protected]>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
Quoted 16 lines · Arnd Bergmann
Quoted 15 lines · Kalle Valo
Quoted 13 lines · Arnd Bergmann
From: Arnd Bergmann <[email protected]>
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 ('enumiwl_fw_sta_type' and 'enumiwl_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.
Quoted 7 lines
Quoted 3 lines
Quoted 1 line
Signed-off-by Arnd Bergmann <[email protected]>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.
Quoted 2 lines
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?
Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches