On Mon, 2022-04-11 at 15:31 +0200, Johannes Berg wrote: > On Fri, 2022-03-25 at 13:42 +0530, Rameshkumar Sundaram wrote: > > > > + he_bss_color->color = > > + nla_get_u8(tb[NL80211_HE_BSS_COLOR_ATTR_COLOR]); > > + 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]); > > + > > + return 0; > > +} > > + > > static int nl80211_parse_beacon(struct cfg80211_registered_device *rdev, > > struct nlattr *attrs[], > > struct cfg80211_beacon_data *bcn) > > @@ -5204,6 +5228,12 @@ static int nl80211_parse_beacon(struct cfg80211_registered_device *rdev, > > bcn->ftm_responder = -1; > > } > > > > + if (attrs[NL80211_ATTR_HE_BSS_COLOR]) { > > + err = nl80211_parse_he_bss_color(attrs[NL80211_ATTR_HE_BSS_COLOR], > > + &bcn->he_bss_color); > > + if (err) > > + return err; > > + } > > Could use a newline after this. > > But not sure I get it - doesn't that always disable BSS coloring now if > you do a beacon update that didn't include the attribute? Did hostapd > always include it in the past? > Seems like we should track whether it was actually included, and only if the attribute was included then mac80211 knows - ie. have something like struct cfg80211_beacon_data { ... + struct cfg80211_he_bss_color he_bss_color; + bool he_bss_color_valid; or so?