diff options
author | Naftali Goldstein <naftali.goldstein@intel.com> | 2018-09-05 01:06:07 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2018-09-05 04:08:42 -0400 |
commit | 77cbbc35a49b75969d98edce9400beb21720aa39 (patch) | |
tree | c525273b318504be10e4645247414f5f07db4d0b /net/mac80211/mlme.c | |
parent | c3d1f8752802b2e1fb12c73bee50035bc125bc54 (diff) |
mac80211: fix saving a few HE values
After masking the he_oper_params, to get the requested values as
integers one must rshift and not lshift. Fix that by using the
le32_get_bits() macro.
Fixes: 41cbb0f5a295 ("mac80211: add support for HE")
Signed-off-by: Naftali Goldstein <naftali.goldstein@intel.com>
[converted to use le32_get_bits()]
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r-- | net/mac80211/mlme.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 764a0f8e1dd1..89dac799a85f 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
@@ -3239,19 +3239,16 @@ static bool ieee80211_assoc_success(struct ieee80211_sub_if_data *sdata, | |||
3239 | } | 3239 | } |
3240 | 3240 | ||
3241 | if (bss_conf->he_support) { | 3241 | if (bss_conf->he_support) { |
3242 | u32 he_oper_params = | 3242 | bss_conf->bss_color = |
3243 | le32_to_cpu(elems.he_operation->he_oper_params); | 3243 | le32_get_bits(elems.he_operation->he_oper_params, |
3244 | IEEE80211_HE_OPERATION_BSS_COLOR_MASK); | ||
3244 | 3245 | ||
3245 | bss_conf->bss_color = he_oper_params & | ||
3246 | IEEE80211_HE_OPERATION_BSS_COLOR_MASK; | ||
3247 | bss_conf->htc_trig_based_pkt_ext = | 3246 | bss_conf->htc_trig_based_pkt_ext = |
3248 | (he_oper_params & | 3247 | le32_get_bits(elems.he_operation->he_oper_params, |
3249 | IEEE80211_HE_OPERATION_DFLT_PE_DURATION_MASK) << | 3248 | IEEE80211_HE_OPERATION_DFLT_PE_DURATION_MASK); |
3250 | IEEE80211_HE_OPERATION_DFLT_PE_DURATION_OFFSET; | ||
3251 | bss_conf->frame_time_rts_th = | 3249 | bss_conf->frame_time_rts_th = |
3252 | (he_oper_params & | 3250 | le32_get_bits(elems.he_operation->he_oper_params, |
3253 | IEEE80211_HE_OPERATION_RTS_THRESHOLD_MASK) << | 3251 | IEEE80211_HE_OPERATION_RTS_THRESHOLD_MASK); |
3254 | IEEE80211_HE_OPERATION_RTS_THRESHOLD_OFFSET; | ||
3255 | 3252 | ||
3256 | bss_conf->multi_sta_back_32bit = | 3253 | bss_conf->multi_sta_back_32bit = |
3257 | sta->sta.he_cap.he_cap_elem.mac_cap_info[2] & | 3254 | sta->sta.he_cap.he_cap_elem.mac_cap_info[2] & |