mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
cfg80211: invert HE BSS color 'disabled' to 'enabled'
This is in fact 'disabled' in the spec, but there it's in a place where that actually makes sense. In our internal data structures, it doesn't really make sense, and in fact the previous commit just fixed a bug in that area. Make this safer by inverting the polarity from 'disabled' to 'enabled'. Link: https://lore.kernel.org/r/20200730130051.5d8399545bd9.Ie62fdcd1a6cd9c969315bc124084a494ca6c8df3@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
c5d1686b31
commit
75e6b594bb
@ -2072,7 +2072,7 @@ static void ath11k_mac_op_bss_info_changed(struct ieee80211_hw *hw,
|
||||
ret = ath11k_wmi_send_obss_color_collision_cfg_cmd(
|
||||
ar, arvif->vdev_id, info->he_bss_color.color,
|
||||
ATH11K_BSS_COLOR_COLLISION_DETECTION_AP_PERIOD_MS,
|
||||
!info->he_bss_color.disabled);
|
||||
info->he_bss_color.enabled);
|
||||
if (ret)
|
||||
ath11k_warn(ar->ab, "failed to set bss color collision on vdev %i: %d\n",
|
||||
arvif->vdev_id, ret);
|
||||
|
@ -267,12 +267,12 @@ struct ieee80211_he_obss_pd {
|
||||
* struct cfg80211_he_bss_color - AP settings for BSS coloring
|
||||
*
|
||||
* @color: the current color.
|
||||
* @disabled: is the feature disabled.
|
||||
* @enabled: HE BSS color is used
|
||||
* @partial: define the AID equation.
|
||||
*/
|
||||
struct cfg80211_he_bss_color {
|
||||
u8 color;
|
||||
bool disabled;
|
||||
bool enabled;
|
||||
bool partial;
|
||||
};
|
||||
|
||||
|
@ -1019,7 +1019,7 @@ static int ieee80211_start_ap(struct wiphy *wiphy, struct net_device *dev,
|
||||
IEEE80211_HE_OPERATION_RTS_THRESHOLD_MASK);
|
||||
changed |= BSS_CHANGED_HE_OBSS_PD;
|
||||
|
||||
if (!params->he_bss_color.disabled)
|
||||
if (params->he_bss_color.enabled)
|
||||
changed |= BSS_CHANGED_HE_BSS_COLOR;
|
||||
}
|
||||
|
||||
|
@ -3460,11 +3460,11 @@ static bool ieee80211_assoc_success(struct ieee80211_sub_if_data *sdata,
|
||||
bss_conf->he_bss_color.partial =
|
||||
le32_get_bits(elems->he_operation->he_oper_params,
|
||||
IEEE80211_HE_OPERATION_PARTIAL_BSS_COLOR);
|
||||
bss_conf->he_bss_color.disabled =
|
||||
le32_get_bits(elems->he_operation->he_oper_params,
|
||||
IEEE80211_HE_OPERATION_BSS_COLOR_DISABLED);
|
||||
bss_conf->he_bss_color.enabled =
|
||||
!le32_get_bits(elems->he_operation->he_oper_params,
|
||||
IEEE80211_HE_OPERATION_BSS_COLOR_DISABLED);
|
||||
|
||||
if (!bss_conf->he_bss_color.disabled)
|
||||
if (bss_conf->he_bss_color.enabled)
|
||||
changed |= BSS_CHANGED_HE_BSS_COLOR;
|
||||
|
||||
bss_conf->htc_trig_based_pkt_ext =
|
||||
|
@ -4713,8 +4713,8 @@ static int nl80211_parse_he_bss_color(struct nlattr *attrs,
|
||||
|
||||
he_bss_color->color =
|
||||
nla_get_u8(tb[NL80211_HE_BSS_COLOR_ATTR_COLOR]);
|
||||
he_bss_color->disabled =
|
||||
nla_get_flag(tb[NL80211_HE_BSS_COLOR_ATTR_DISABLED]);
|
||||
he_bss_color->enabled =
|
||||
!nla_get_flag(tb[NL80211_HE_BSS_COLOR_ATTR_DISABLED]);
|
||||
he_bss_color->partial =
|
||||
nla_get_flag(tb[NL80211_HE_BSS_COLOR_ATTR_PARTIAL]);
|
||||
|
||||
@ -4865,9 +4865,6 @@ static int nl80211_start_ap(struct sk_buff *skb, struct genl_info *info)
|
||||
|
||||
memset(¶ms, 0, sizeof(params));
|
||||
|
||||
/* disable BSS color by default */
|
||||
params.he_bss_color.disabled = true;
|
||||
|
||||
/* these are required for START_AP */
|
||||
if (!info->attrs[NL80211_ATTR_BEACON_INTERVAL] ||
|
||||
!info->attrs[NL80211_ATTR_DTIM_PERIOD] ||
|
||||
|
Loading…
Reference in New Issue
Block a user