On 2/14/2023 10:41 PM, Johannes Berg wrote:
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?
I consider it NOT a bug. It is only the check is not strict here.
johannes