]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: iwlwifi: mld: set UHR MCS in RX status
authorJohannes Berg <johannes.berg@intel.com>
Fri, 20 Mar 2026 08:09:05 +0000 (10:09 +0200)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Wed, 25 Mar 2026 09:31:57 +0000 (11:31 +0200)
Handle UHR MCSes in the RX status when receiving UHR frames.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20260320100746.7d235ea6a4f2.Ibc8c7e1af45cae2756e4ddcdf6dc5424b3992f7b@changeid
drivers/net/wireless/intel/iwlwifi/mld/rx.c

index 214dcfde2fb4d7f806defed07858fbe3661abe44..ff6e71e3ff6ef042fd7ca067618353b83a35134a 100644 (file)
@@ -1407,6 +1407,7 @@ static void iwl_mld_set_rx_rate(struct iwl_mld *mld,
        u32 rate_n_flags = phy_data->rate_n_flags;
        u8 stbc = u32_get_bits(rate_n_flags, RATE_MCS_STBC_MSK);
        u32 format = rate_n_flags & RATE_MCS_MOD_TYPE_MSK;
+       u32 he_type = u32_get_bits(rate_n_flags, RATE_MCS_HE_TYPE_MSK);
        bool is_sgi = rate_n_flags & RATE_MCS_SGI_MSK;
 
        /* bandwidth may be overridden to RU by PHY ntfy */
@@ -1481,6 +1482,12 @@ static void iwl_mld_set_rx_rate(struct iwl_mld *mld,
                rx_status->encoding = RX_ENC_EHT;
                iwl_mld_set_rx_nonlegacy_rate_info(rate_n_flags, rx_status);
                break;
+       case RATE_MCS_MOD_TYPE_UHR:
+               rx_status->encoding = RX_ENC_UHR;
+               iwl_mld_set_rx_nonlegacy_rate_info(rate_n_flags, rx_status);
+               if (he_type == RATE_MCS_HE_TYPE_UHR_ELR)
+                       rx_status->uhr.elr = 1;
+               break;
        default:
                WARN_ON_ONCE(1);
        }