Hi Sergey, On Thu, 2019-04-11 at 12:40 +0000, Sergey Matyukevich wrote: > Calling regulatory notifiers in parallel sounds like a good idea. > But I haven't yet looked into the details as well. Before fixing > the timeout issue, I was trying to figure out why that regulatory > reset was needed at all. :-) > Here is a simple usecase: Linux distro sets regulatory region to US, > STA is connected to AP. Any STA disconnect (including an attempt to > reconnect to another AP) leads to regulatory reset cycle: US -> 00 -> US. > This reset cycle is not supposed to be done for the wireless cards that > specify REGULATORY_COUNTRY_IE_IGNORE flag. However regulatory reset will > be applied anyway if at least one card in the system does not specify > that flag. > > Hence two questions: > Do we really need this kind of reset when we remain > in the same regulatory domain ? Probably doesn't make sense. If I were to guess I'd say that was a simplification, since in many cases we'd actually be doing something like (intersected) -> 00 -> US? Actually, in your example, we're probably doing "US->00" and "00->US" separately since we don't really know that we're going to connect again to a similar AP, right? Adding Luis, just in case he remembers anything about this ... > Does it make sense to track when restore_regulatory_settings performs > reset, and to skip reset for the cards that specify > REGULATORY_COUNTRY_IE_IGNORE ? I guess that'd make some sense anyway? I do think ultimately we need some kind of reset every once a while when we're disconnected, otherwise we'll just carry around intersections and other baggage forever. johannes