mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-22 04:32:37 +01:00
unit: add test for band fallback
This test uses the same country/country3 values seen by an AP vendor which causes issues with IWD. The alpha2 is ES (Spain) and the 3rd byte is 4, indicating to use the E-4. The issue then comes when the neighbor report claims the BSS is under operating class 3 which is not part of E-4. With the fallback implemented, this test will pass since it will try and lookup only on ES (the EU table) which operating class 3 is part of.
This commit is contained in:
parent
70d1d71612
commit
fdbbd8b383
@ -670,6 +670,19 @@ static void test_conversions(const void *data)
|
||||
assert(!band_channel_to_freq(192, BAND_FREQ_5_GHZ));
|
||||
}
|
||||
|
||||
static void test_conversion_fallback(const void *data)
|
||||
{
|
||||
enum band_freq band;
|
||||
const uint8_t cc[] = {'E', 'S', 0x04};
|
||||
|
||||
/*
|
||||
* Without a fallback, this would fail. There is no operclass 3 in the
|
||||
* global operating table (E-4)
|
||||
*/
|
||||
band = band_oper_class_to_band(cc, 3);
|
||||
assert(band == BAND_FREQ_5_GHZ);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
l_test_init(&argc, &argv);
|
||||
@ -736,6 +749,7 @@ int main(int argc, char *argv[])
|
||||
l_test_add("/band/6ghz/freq", test_6ghz_freqs, NULL);
|
||||
|
||||
l_test_add("/band/conversions", test_conversions, NULL);
|
||||
l_test_add("/band/conversion fallback", test_conversion_fallback, NULL);
|
||||
|
||||
return l_test_run();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user