> > Hi, > > On Thu, 2023-10-12 at 23:12 +0200, Baligh Gasmi wrote: > > When asking hostapd to switch channel in the multi-BSS configuration, > > only the first (associated to the first BSS) request is executed > > correctly by some driver, other BSS's request are failing. > > This is because multi-BSS configuration is using same Radio and one > > request seems to be suffisant to driver to switch on. > > > > Solution in here is to return SUCCESS if there was at least one BSS > > switched OK. > > I think this solution may confuse the internal state a bit as > hostapd_switch_channel resets some state on failure and also sets > csa_in_progress on success. > > I am thinking right now that two things might make sense: > 1. Either splitting channel switch into three steps, or always > switching the BSSs together. > 2. Only doing a single call to the driver interface with the > information for all BSSs. After all, the switch will need to > happen at the same point in time. > > But, I don't really know right now what underlying drivers are > expecting, so maybe the suggestion is just wrong. Another solution > could be that the driver detects that the switch is already in progress > and ensures a success return if appropriate. > > Benjamin > Hello, Sorry, but I do not get it! I'm not saying that the patch is correct or to be used as it, trying just to understand. With the patch, when hostapd_switch_channel() fails, that means that no switch on any BSS has succussed, so may the reset of the state is coherent. Other way, if it successed with one BSS (some or all), that means that the CSA is ongoing, and having csa_in_progress is coherent too. I can think about adding CHAN_SWITCH argument, according to which we use all BSSes or only the main BSS, but still not global solution I think, since we will have to detect driver behaviour to add/remove new arg. Baligh _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap