]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: mwifiex: simplify mwifiex_setup_ht_caps()
authorSascha Hauer <s.hauer@pengutronix.de>
Thu, 10 Apr 2025 10:24:30 +0000 (12:24 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 23 Apr 2025 13:34:23 +0000 (15:34 +0200)
In mwifiex_setup_ht_caps() first a local struct ieee80211_mcs_info
is initialized and afterwards copied over &ht_info->mcs. Simplify
this by initializing &ht_info->mcs directly.

While at it call memset on the u8 rx_mask[] array instead of the struct
which makes the intention clearer and we no longer have to assume the
rx_mask array is the first member of struct ieee80211_mcs_info.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: Jeff Chen <jeff.chen_1@nxp.com>
Link: https://patch.msgid.link/20250410-mwifiex-cleanup-1-v6-6-a6bbd4ac4d37@pengutronix.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/marvell/mwifiex/cfg80211.c

index 33bc5cd3ce96029ac35a015cc951709ec2a05c5b..1d9bc8f980c8d2cef3498d22c083fa7c20af98e8 100644 (file)
@@ -2906,16 +2906,12 @@ mwifiex_setup_ht_caps(struct ieee80211_sta_ht_cap *ht_info,
                      struct mwifiex_private *priv)
 {
        int rx_mcs_supp;
-       struct ieee80211_mcs_info mcs_set;
-       u8 *mcs = (u8 *)&mcs_set;
        struct mwifiex_adapter *adapter = priv->adapter;
 
        ht_info->ht_supported = true;
        ht_info->ampdu_factor = IEEE80211_HT_MAX_AMPDU_64K;
        ht_info->ampdu_density = IEEE80211_HT_MPDU_DENSITY_NONE;
 
-       memset(&ht_info->mcs, 0, sizeof(ht_info->mcs));
-
        /* Fill HT capability information */
        if (ISSUPP_CHANWIDTH40(adapter->hw_dot_11n_dev_cap))
                ht_info->cap |= IEEE80211_HT_CAP_SUP_WIDTH_20_40;
@@ -2961,17 +2957,15 @@ mwifiex_setup_ht_caps(struct ieee80211_sta_ht_cap *ht_info,
        ht_info->cap |= IEEE80211_HT_CAP_SM_PS;
 
        rx_mcs_supp = GET_RXMCSSUPP(adapter->user_dev_mcs_support);
+
+       memset(&ht_info->mcs, 0, sizeof(ht_info->mcs));
        /* Set MCS for 1x1/2x2 */
-       memset(mcs, 0xff, rx_mcs_supp);
-       /* Clear all the other values */
-       memset(&mcs[rx_mcs_supp], 0,
-              sizeof(struct ieee80211_mcs_info) - rx_mcs_supp);
+       memset(ht_info->mcs.rx_mask, 0xff, rx_mcs_supp);
+
        if (priv->bss_mode == NL80211_IFTYPE_STATION ||
            ISSUPP_CHANWIDTH40(adapter->hw_dot_11n_dev_cap))
                /* Set MCS32 for infra mode or ad-hoc mode with 40MHz support */
-               SETHT_MCS32(mcs_set.rx_mask);
-
-       memcpy((u8 *) &ht_info->mcs, mcs, sizeof(struct ieee80211_mcs_info));
+               SETHT_MCS32(ht_info->mcs.rx_mask);
 
        ht_info->mcs.tx_params = IEEE80211_HT_MCS_TX_DEFINED;
 }