]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: iwlwifi: mvm: use the right version of the rate API
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Sun, 9 Feb 2025 12:34:50 +0000 (14:34 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Apr 2025 12:33:38 +0000 (14:33 +0200)
[ Upstream commit a03e2082e678ea10d0d8bdf3ed933eb05a8ddbb0 ]

The firmware uses the newer version of the API in recent devices. For
older devices, we translate the rate to the new format.
Don't parse the rate with old parsing macros.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20250209143303.13d70cdcbb4e.Ic92193bce4013b70a823cfef250ee79c16cf7c17@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c

index 105f283b777d223bd6fc3f70e73ae136c8eda6fc..fce8950007bbb1a8d8ef8ba669e47661934588a5 100644 (file)
@@ -1272,7 +1272,7 @@ iwl_mvm_decode_he_phy_ru_alloc(struct iwl_mvm_rx_phy_data *phy_data,
         */
        u8 ru = le32_get_bits(phy_data->d1, IWL_RX_PHY_DATA1_HE_RU_ALLOC_MASK);
        u32 rate_n_flags = phy_data->rate_n_flags;
-       u32 he_type = rate_n_flags & RATE_MCS_HE_TYPE_MSK_V1;
+       u32 he_type = rate_n_flags & RATE_MCS_HE_TYPE_MSK;
        u8 offs = 0;
 
        rx_status->bw = RATE_INFO_BW_HE_RU;
@@ -1327,13 +1327,13 @@ iwl_mvm_decode_he_phy_ru_alloc(struct iwl_mvm_rx_phy_data *phy_data,
 
        if (he_mu)
                he_mu->flags2 |=
-                       le16_encode_bits(FIELD_GET(RATE_MCS_CHAN_WIDTH_MSK_V1,
+                       le16_encode_bits(FIELD_GET(RATE_MCS_CHAN_WIDTH_MSK,
                                                   rate_n_flags),
                                         IEEE80211_RADIOTAP_HE_MU_FLAGS2_BW_FROM_SIG_A_BW);
-       else if (he_type == RATE_MCS_HE_TYPE_TRIG_V1)
+       else if (he_type == RATE_MCS_HE_TYPE_TRIG)
                he->data6 |=
                        cpu_to_le16(IEEE80211_RADIOTAP_HE_DATA6_TB_PPDU_BW_KNOWN) |
-                       le16_encode_bits(FIELD_GET(RATE_MCS_CHAN_WIDTH_MSK_V1,
+                       le16_encode_bits(FIELD_GET(RATE_MCS_CHAN_WIDTH_MSK,
                                                   rate_n_flags),
                                         IEEE80211_RADIOTAP_HE_DATA6_TB_PPDU_BW);
 }