ieee80211: fix HE SPR size calculation
The he_sr_control field is just a u8, so le32_to_cpu()
shouldn't be applied to it; this was evidently copied
from ieee80211_he_oper_size(). Fix it, and also adjust
the type of the local variable.
Fixes: ef11a931bd
("mac80211: HE: add Spatial Reuse element parsing support")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Link: https://lore.kernel.org/r/20200325090918.dfe483b49e06.Ia53622f23b2610a2ae6ea39a199866196fe946c1@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Родитель
0016d32017
Коммит
575a97acc3
|
@ -2102,14 +2102,14 @@ ieee80211_he_spr_size(const u8 *he_spr_ie)
|
|||
{
|
||||
struct ieee80211_he_spr *he_spr = (void *)he_spr_ie;
|
||||
u8 spr_len = sizeof(struct ieee80211_he_spr);
|
||||
u32 he_spr_params;
|
||||
u8 he_spr_params;
|
||||
|
||||
/* Make sure the input is not NULL */
|
||||
if (!he_spr_ie)
|
||||
return 0;
|
||||
|
||||
/* Calc required length */
|
||||
he_spr_params = le32_to_cpu(he_spr->he_sr_control);
|
||||
he_spr_params = he_spr->he_sr_control;
|
||||
if (he_spr_params & IEEE80211_HE_SPR_NON_SRG_OFFSET_PRESENT)
|
||||
spr_len++;
|
||||
if (he_spr_params & IEEE80211_HE_SPR_SRG_INFORMATION_PRESENT)
|
||||
|
|
Загрузка…
Ссылка в новой задаче