summaryrefslogtreecommitdiffstats
path: root/net/mac80211/mlme.c
diff options
context:
space:
mode:
authorNaftali Goldstein <naftali.goldstein@intel.com>2018-09-05 01:06:07 -0400
committerJohannes Berg <johannes.berg@intel.com>2018-09-05 04:08:42 -0400
commit77cbbc35a49b75969d98edce9400beb21720aa39 (patch)
treec525273b318504be10e4645247414f5f07db4d0b /net/mac80211/mlme.c
parentc3d1f8752802b2e1fb12c73bee50035bc125bc54 (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.c17
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] &