wifi: iwlwifi: mld: set UHR MCS in RX status

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
This commit is contained in:
Johannes Berg 2026-03-20 10:09:05 +02:00 committed by Miri Korenblit
parent 364273359e
commit d60cbe9ef6

View 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);
}