[PATCH 1/8] wifi: ath12k: Add MLO station state change handling

Kalle Valo kvalo at kernel.org
Wed Nov 20 07:57:07 PST 2024


Baochen Qiang <quic_bqiang at quicinc.com> writes:

>>>> +	arsta->arvif = arvif;
>>>> +	arsta->ahsta = ahsta;
>>>> +	arsta->state = IEEE80211_STA_NONE;
>>>> +	wiphy_work_init(&arsta->update_wk, ath12k_sta_rc_update_wk);
>>>> +
>>>> +	rcu_assign_pointer(ahsta->link[link_id], arsta);
>>>> +
>>>> +	synchronize_rcu();
>>>
>>> what are we waiting for here?
>> 
>> That's a good question. I didn't analyse that thoroughly but I'm just
>> making sure here that all readers have access to the new arsta before we
>> return to mac80211.
>
> why would readers have to access arsta BEFORE returning to mac80211?
> any potential race conditions?
>
> and even if it is necessary, how could synchronize_rcu() guarantee
> that? synchronize_rcu() is used to make sure all readers have exited
> from RCU read critical section, I don;t see how it could make sure a
> newly assigned entry get accessed.

Yeah, I'm not making any sense. I'll remove synchronize_rcu() in v2.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches



More information about the ath12k mailing list