On 6/26/24 18:07, Johannes Berg wrote:
On Wed, 2024-06-26 at 10:22 +0530, Aditya Kumar Singh wrote:
If CAC is started and the interface is brought down, currently, CAC
started on link 0 is aborted in function ieee80211_do_stop(). Technically,
by the time execution reaches the above function, all links are already
teared down and hence link 0 (or deflink) alone is handled. Also, since
nit: torn down
Okay.
links are teared down, information on other links is also not available.
same here
Sure.
Hence there is a need to handle this in function ieee80211_free_links().
Not sure I buy that argument though, it feels wrong. Clearly you should
be able to stop this from even cfg80211, it tracks whether radar
detection is running, so whenever the link is removed, you can also stop
it there? Doing it on free seems much too late.
Actually if cfg80211_remove_link() is called, then it is aborted during
stop_ap handler. So that path is fine only. This was done in situations
where properly interface is not brought down or abruptly brought down.
For example AP is started and then directly iw wlanX del is issued.
Ideally the normal deinit flow should have taken care but just in case
if still somehow by passes it then ultimately while freeing the links it
will be aborted. May be should I rephrase the commit message?