wifi: mac80211: spectmgmt: simplify 6 GHz HE/EHT handling
authorJohannes Berg <johannes.berg@intel.com>
Tue, 12 Mar 2024 10:20:48 +0000 (11:20 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 25 Mar 2024 14:36:36 +0000 (15:36 +0100)
Clean up the code here a bit to have only a single call
to ieee80211_chandef_he_6ghz_oper() by using a local
pointer variable for the difference.

Link: https://msgid.link/20240312112048.94c421d767f9.Ia7ca2f315b392c74d39b44fa9eb872a2e62e75c1@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/spectmgmt.c

index 077d7c7efc8243d98717eebdb6b82bfe4dc443d2..b2de4c6fb808860b7ae5a7f94c21a064fb877f5e 100644 (file)
@@ -155,6 +155,7 @@ validate_chandef_by_6ghz_he_eht_oper(struct ieee80211_sub_if_data *sdata,
                struct ieee80211_eht_operation _oper;
                struct ieee80211_eht_operation_info _oper_info;
        } __packed eht;
+       const struct ieee80211_eht_operation *eht_oper;
 
        if (conn->mode < IEEE80211_CONN_MODE_HE) {
                chandef->chan = NULL;
@@ -203,19 +204,18 @@ validate_chandef_by_6ghz_he_eht_oper(struct ieee80211_sub_if_data *sdata,
        }
 
        if (conn->mode < IEEE80211_CONN_MODE_EHT) {
-               if (!ieee80211_chandef_he_6ghz_oper(local, &he._oper,
-                                                   NULL, chandef))
-                       chandef->chan = NULL;
+               eht_oper = NULL;
        } else {
                eht._oper.params = IEEE80211_EHT_OPER_INFO_PRESENT;
                eht._oper_info.control = he._6ghz_oper.control;
                eht._oper_info.ccfs0 = he._6ghz_oper.ccfs0;
                eht._oper_info.ccfs1 = he._6ghz_oper.ccfs1;
-
-               if (!ieee80211_chandef_he_6ghz_oper(local, &he._oper,
-                                                   &eht._oper, chandef))
-                       chandef->chan = NULL;
+               eht_oper = &eht._oper;
        }
+
+       if (!ieee80211_chandef_he_6ghz_oper(local, &he._oper,
+                                           eht_oper, chandef))
+               chandef->chan = NULL;
 }
 
 int ieee80211_parse_ch_switch_ie(struct ieee80211_sub_if_data *sdata,