3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-24 00:09:26 +01:00

band: check the operating class band before checking e4

After the band is established we check the e4 table for the channel
that matches. The problem here is we will end up checking all the
operating classes, even those that are not within the band that was
determined. This could result in false positives and return a
channel that doesn't make sense.
This commit is contained in:
James Prestwood 2024-10-24 09:46:33 -07:00 committed by Denis Kenzior
parent e0727bfeb6
commit d0b9fc84b5

View File

@ -1352,6 +1352,10 @@ check_e4:
const struct operating_class_info *info = const struct operating_class_info *info =
&e4_operating_classes[i]; &e4_operating_classes[i];
if (band != band_oper_class_to_band(NULL,
info->operating_class))
continue;
if (e4_has_frequency(info, freq) == 0 || if (e4_has_frequency(info, freq) == 0 ||
e4_has_ccfi(info, freq) == 0) { e4_has_ccfi(info, freq) == 0) {
if (out_band) if (out_band)