[PATCH] wifi: mac80211: fix assigning channel in activate links
Johannes Berg
johannes at sipsolutions.net
Tue Oct 1 01:08:02 PDT 2024
On Tue, 2024-10-01 at 13:07 +0530, Aditya Kumar Singh wrote:
>
> First iterate and do only _ieee80211_link_use_channel() this part. Then
> let the flow as usual and after stations are added, do the
> link_info_changed() part.
That would seem to make sense, it also matches assoc flow better.
Although not sure that matters too much, since this is necessarily very
different as it's while associated anyway.
> > But also this seems to break out driver for other reasons, because it
type - I meant "our driver"
> > initializes rate control somewhere here and needs a station for that.
> > Didn't look deeply into that yet though.
>
> Okay so doing as I said above could work -
>
> if (add) {
> ...
> }
>
> for_each_set_bit(link_id, &rem, ..) {
> ...
> }
>
> for_each_set_bit(link_id, &add ...) {
> _ieee80211_link_use_channel()
> }
>
> list_for_each_entry(sta, &local->sta_list, list) {
> ...
> }
>
> ...
>
> for_each_set_bit(link_id, &add ....) {
> now call
> ieee80211_mgd_set_link_qos_params()
> ieee80211_link_info_change_notify()
> }
>
> ...
>
>
> At least I tried both of these ways in hwsim. I dont see any failures.
> Hence I thought why not move whole for loop to top instead.
Right, I don't know - I guess I should try with our driver?
johannes
More information about the ath12k
mailing list