On Tue, 2023-01-10 at 15:23 +0800, Wen Gong wrote: > On 1/9/2023 6:05 PM, Johannes Berg wrote: > > On Mon, 2023-01-09 at 17:39 +0800, Wen Gong wrote: > > > On 3/11/2014 10:16 PM, Luciano Coelho wrote: > > > > ... > > > > +int ieee80211_check_combinations(struct ieee80211_sub_if_data *sdata, > > > > + const struct cfg80211_chan_def *chandef, > > > > + enum ieee80211_chanctx_mode chanmode, > > > > + u8 radar_detect) > ... > > > > + > > > > + if (total == 1 && !radar_detect) > > > > + return 0; > > > > + > > > should also check with cfg80211_check_combinations() when total == 1 and > > > num_different_channels > 1 ? > > > > > > When MLO is enabled, it could have 2 channels for one ieee80211_sub_if_data. > > > > > Heh. You're commenting on a patch from 2014, well before MLO :-) > > > > Not sure what happens in the code now? > > > > johannes > Yes, it is 2014. Each interface only has one channel at 2014. > I did not hit issue for the code. > > the story is like this: > When station interface and p2p device interface both running. > the station connect to MLO AP which has 2 links. > The ieee80211_link_use_channel()/ieee80211_check_combinations() call > cfg80211_check_combinations() > for the channel1 and channel2 because total==2. > When only station interface is running, not called for channel1/channel2 > because total==1. > That is the little thing I hit. > So ... I guess you found a bug? Not sure what I'm supposed to say here. Send a fix? johannes