wifi: iwlwifi: mld: refactor iwl_mld_valid_emlsr_pair
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Sun, 9 Mar 2025 05:36:42 +0000 (07:36 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 11 Mar 2025 15:29:24 +0000 (16:29 +0100)
- Change reasons enum to a bitmask and rename it
- Don't use 'else if' so all reasons will be set in the reasons bitmask

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Link: https://patch.msgid.link/20250309073442.0a3b2f88fbbf.I0152bc39e828488451e85135feb044ce1f7a85d3@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mld/mlo.c

index b68092be9aed7a20e9c0314b30ffa870e706a334..bbaf9ad0e9eb05a9d0f32cd044b32eb7ecad7af1 100644 (file)
@@ -748,23 +748,23 @@ iwl_mld_valid_emlsr_pair(struct ieee80211_vif *vif,
 {
        struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif);
        struct iwl_mld *mld = mld_vif->mld;
-       enum iwl_mld_emlsr_exit ret = 0;
+       u32 reason_mask = 0;
 
        /* Per-link considerations */
        if (iwl_mld_emlsr_disallowed_with_link(mld, vif, a, true) ||
            iwl_mld_emlsr_disallowed_with_link(mld, vif, b, false))
                return false;
 
-       if (a->chandef->chan->band == b->chandef->chan->band) {
-               ret |= IWL_MLD_EMLSR_EXIT_EQUAL_BAND;
-       } else if (a->chandef->width != b->chandef->width) {
+       if (a->chandef->chan->band == b->chandef->chan->band)
+               reason_mask |= IWL_MLD_EMLSR_EXIT_EQUAL_BAND;
+       if (a->chandef->width != b->chandef->width) {
                /* TODO: task=EMLSR task=statistics
                 * replace BANDWIDTH exit reason with channel load criteria
                 */
-               ret |= IWL_MLD_EMLSR_EXIT_BANDWIDTH;
+               reason_mask |= IWL_MLD_EMLSR_EXIT_BANDWIDTH;
        }
 
-       if (ret) {
+       if (reason_mask) {
                IWL_DEBUG_INFO(mld,
                               "Links %d and %d are not a valid pair for EMLSR\n",
                               a->link_id, b->link_id);
@@ -772,7 +772,7 @@ iwl_mld_valid_emlsr_pair(struct ieee80211_vif *vif,
                               "Links bandwidth are: %d and %d\n",
                               nl80211_chan_width_to_mhz(a->chandef->width),
                               nl80211_chan_width_to_mhz(b->chandef->width));
-               iwl_mld_print_emlsr_exit(mld, ret);
+               iwl_mld_print_emlsr_exit(mld, reason_mask);
                return false;
        }