浏览代码

qcacmn: Fix channel list validation failure for Taiwan country

Problem:
In 2.4GHz Taiwan country code, channel 8 shows HT40PLUS/HE40PLUS
supported. As per latest regulatory sheet, channel 8 should
support only HT20/HE20 and HT40MINUS/HE40MINUS.

Root Cause:
When populating the master channel list, channel 12 is marked as
enabled for bw 10MHz. Therefore, for channel 8 HT40PLUS/HE40PLUS
flag is enabled.

Solution:
Channel map defines the min and max BW for each channel. The
solution here is to define the (min, max) as (20, 40)MHz instead
of (2, 40)MHz for 2GHz channels. That way, channel 12 would not
be marked as enabled for TW.

Change-Id: If208c23d1341f7fc90d6714ec09de6deafc455d4
CRs-Fixed: 2124202
Shashikala Prabhu 7 年之前
父节点
当前提交
4105bf68a4
共有 1 个文件被更改,包括 70 次插入70 次删除
  1. 70 70
      umac/regulatory/core/src/reg_services.c

+ 70 - 70
umac/regulatory/core/src/reg_services.c

@@ -150,20 +150,20 @@ static const struct chan_map channel_map_old[NUM_CHANNELS] = {
 
 #else
 static const struct chan_map channel_map_us[NUM_CHANNELS] = {
-	[CHAN_ENUM_2412] = {2412, 1, 2, 40},
-	[CHAN_ENUM_2417] = {2417, 2, 2, 40},
-	[CHAN_ENUM_2422] = {2422, 3, 2, 40},
-	[CHAN_ENUM_2427] = {2427, 4, 2, 40},
-	[CHAN_ENUM_2432] = {2432, 5, 2, 40},
-	[CHAN_ENUM_2437] = {2437, 6, 2, 40},
-	[CHAN_ENUM_2442] = {2442, 7, 2, 40},
-	[CHAN_ENUM_2447] = {2447, 8, 2, 40},
-	[CHAN_ENUM_2452] = {2452, 9, 2, 40},
-	[CHAN_ENUM_2457] = {2457, 10, 2, 40},
-	[CHAN_ENUM_2462] = {2462, 11, 2, 40},
-	[CHAN_ENUM_2467] = {2467, 12, 2, 40},
-	[CHAN_ENUM_2472] = {2472, 13, 2, 40},
-	[CHAN_ENUM_2484] = {2484, 14, 2, 40},
+	[CHAN_ENUM_2412] = {2412, 1, 20, 40},
+	[CHAN_ENUM_2417] = {2417, 2, 20, 40},
+	[CHAN_ENUM_2422] = {2422, 3, 20, 40},
+	[CHAN_ENUM_2427] = {2427, 4, 20, 40},
+	[CHAN_ENUM_2432] = {2432, 5, 20, 40},
+	[CHAN_ENUM_2437] = {2437, 6, 20, 40},
+	[CHAN_ENUM_2442] = {2442, 7, 20, 40},
+	[CHAN_ENUM_2447] = {2447, 8, 20, 40},
+	[CHAN_ENUM_2452] = {2452, 9, 20, 40},
+	[CHAN_ENUM_2457] = {2457, 10, 20, 40},
+	[CHAN_ENUM_2462] = {2462, 11, 20, 40},
+	[CHAN_ENUM_2467] = {2467, 12, 20, 40},
+	[CHAN_ENUM_2472] = {2472, 13, 20, 40},
+	[CHAN_ENUM_2484] = {2484, 14, 20, 20},
 
 	[CHAN_ENUM_4912] = {4912, INVALID_CHANNEL_NUM, 2, 20},
 	[CHAN_ENUM_4915] = {4915, INVALID_CHANNEL_NUM, 2, 20},
@@ -252,20 +252,20 @@ static const struct chan_map channel_map_us[NUM_CHANNELS] = {
 };
 
 static const struct chan_map channel_map_eu[NUM_CHANNELS] = {
-	[CHAN_ENUM_2412] = {2412, 1, 2, 40},
-	[CHAN_ENUM_2417] = {2417, 2, 2, 40},
-	[CHAN_ENUM_2422] = {2422, 3, 2, 40},
-	[CHAN_ENUM_2427] = {2427, 4, 2, 40},
-	[CHAN_ENUM_2432] = {2432, 5, 2, 40},
-	[CHAN_ENUM_2437] = {2437, 6, 2, 40},
-	[CHAN_ENUM_2442] = {2442, 7, 2, 40},
-	[CHAN_ENUM_2447] = {2447, 8, 2, 40},
-	[CHAN_ENUM_2452] = {2452, 9, 2, 40},
-	[CHAN_ENUM_2457] = {2457, 10, 2, 40},
-	[CHAN_ENUM_2462] = {2462, 11, 2, 40},
-	[CHAN_ENUM_2467] = {2467, 12, 2, 40},
-	[CHAN_ENUM_2472] = {2472, 13, 2, 40},
-	[CHAN_ENUM_2484] = {2484, 14, 2, 40},
+	[CHAN_ENUM_2412] = {2412, 1, 20, 40},
+	[CHAN_ENUM_2417] = {2417, 2, 20, 40},
+	[CHAN_ENUM_2422] = {2422, 3, 20, 40},
+	[CHAN_ENUM_2427] = {2427, 4, 20, 40},
+	[CHAN_ENUM_2432] = {2432, 5, 20, 40},
+	[CHAN_ENUM_2437] = {2437, 6, 20, 40},
+	[CHAN_ENUM_2442] = {2442, 7, 20, 40},
+	[CHAN_ENUM_2447] = {2447, 8, 20, 40},
+	[CHAN_ENUM_2452] = {2452, 9, 20, 40},
+	[CHAN_ENUM_2457] = {2457, 10, 20, 40},
+	[CHAN_ENUM_2462] = {2462, 11, 20, 40},
+	[CHAN_ENUM_2467] = {2467, 12, 20, 40},
+	[CHAN_ENUM_2472] = {2472, 13, 20, 40},
+	[CHAN_ENUM_2484] = {2484, 14, 20, 20},
 
 	[CHAN_ENUM_4912] = {4912, INVALID_CHANNEL_NUM, 2, 20},
 	[CHAN_ENUM_4915] = {4915, INVALID_CHANNEL_NUM, 2, 20},
@@ -354,20 +354,20 @@ static const struct chan_map channel_map_eu[NUM_CHANNELS] = {
 };
 
 static const struct chan_map channel_map_jp[NUM_CHANNELS] = {
-	[CHAN_ENUM_2412] = {2412, 1, 2, 40},
-	[CHAN_ENUM_2417] = {2417, 2, 2, 40},
-	[CHAN_ENUM_2422] = {2422, 3, 2, 40},
-	[CHAN_ENUM_2427] = {2427, 4, 2, 40},
-	[CHAN_ENUM_2432] = {2432, 5, 2, 40},
-	[CHAN_ENUM_2437] = {2437, 6, 2, 40},
-	[CHAN_ENUM_2442] = {2442, 7, 2, 40},
-	[CHAN_ENUM_2447] = {2447, 8, 2, 40},
-	[CHAN_ENUM_2452] = {2452, 9, 2, 40},
-	[CHAN_ENUM_2457] = {2457, 10, 2, 40},
-	[CHAN_ENUM_2462] = {2462, 11, 2, 40},
-	[CHAN_ENUM_2467] = {2467, 12, 2, 40},
-	[CHAN_ENUM_2472] = {2472, 13, 2, 40},
-	[CHAN_ENUM_2484] = {2484, 14, 2, 40},
+	[CHAN_ENUM_2412] = {2412, 1, 20, 40},
+	[CHAN_ENUM_2417] = {2417, 2, 20, 40},
+	[CHAN_ENUM_2422] = {2422, 3, 20, 40},
+	[CHAN_ENUM_2427] = {2427, 4, 20, 40},
+	[CHAN_ENUM_2432] = {2432, 5, 20, 40},
+	[CHAN_ENUM_2437] = {2437, 6, 20, 40},
+	[CHAN_ENUM_2442] = {2442, 7, 20, 40},
+	[CHAN_ENUM_2447] = {2447, 8, 20, 40},
+	[CHAN_ENUM_2452] = {2452, 9, 20, 40},
+	[CHAN_ENUM_2457] = {2457, 10, 20, 40},
+	[CHAN_ENUM_2462] = {2462, 11, 20, 40},
+	[CHAN_ENUM_2467] = {2467, 12, 20, 40},
+	[CHAN_ENUM_2472] = {2472, 13, 20, 40},
+	[CHAN_ENUM_2484] = {2484, 14, 20, 20},
 
 	[CHAN_ENUM_4912] = {4912, 182, 5, 5},
 	[CHAN_ENUM_4915] = {4915, 183, 10, 10},
@@ -456,20 +456,20 @@ static const struct chan_map channel_map_jp[NUM_CHANNELS] = {
 };
 
 static const struct chan_map channel_map_global[NUM_CHANNELS] = {
-	[CHAN_ENUM_2412] = {2412, 1, 2, 40},
-	[CHAN_ENUM_2417] = {2417, 2, 2, 40},
-	[CHAN_ENUM_2422] = {2422, 3, 2, 40},
-	[CHAN_ENUM_2427] = {2427, 4, 2, 40},
-	[CHAN_ENUM_2432] = {2432, 5, 2, 40},
-	[CHAN_ENUM_2437] = {2437, 6, 2, 40},
-	[CHAN_ENUM_2442] = {2442, 7, 2, 40},
-	[CHAN_ENUM_2447] = {2447, 8, 2, 40},
-	[CHAN_ENUM_2452] = {2452, 9, 2, 40},
-	[CHAN_ENUM_2457] = {2457, 10, 2, 40},
-	[CHAN_ENUM_2462] = {2462, 11, 2, 40},
-	[CHAN_ENUM_2467] = {2467, 12, 2, 40},
-	[CHAN_ENUM_2472] = {2472, 13, 2, 40},
-	[CHAN_ENUM_2484] = {2484, 14, 2, 40},
+	[CHAN_ENUM_2412] = {2412, 1, 20, 40},
+	[CHAN_ENUM_2417] = {2417, 2, 20, 40},
+	[CHAN_ENUM_2422] = {2422, 3, 20, 40},
+	[CHAN_ENUM_2427] = {2427, 4, 20, 40},
+	[CHAN_ENUM_2432] = {2432, 5, 20, 40},
+	[CHAN_ENUM_2437] = {2437, 6, 20, 40},
+	[CHAN_ENUM_2442] = {2442, 7, 20, 40},
+	[CHAN_ENUM_2447] = {2447, 8, 20, 40},
+	[CHAN_ENUM_2452] = {2452, 9, 20, 40},
+	[CHAN_ENUM_2457] = {2457, 10, 20, 40},
+	[CHAN_ENUM_2462] = {2462, 11, 20, 40},
+	[CHAN_ENUM_2467] = {2467, 12, 20, 40},
+	[CHAN_ENUM_2472] = {2472, 13, 20, 40},
+	[CHAN_ENUM_2484] = {2484, 14, 20, 20},
 
 	[CHAN_ENUM_4912] = {4912, INVALID_CHANNEL_NUM, 2, 20},
 	[CHAN_ENUM_4915] = {4915, INVALID_CHANNEL_NUM, 2, 20},
@@ -558,20 +558,20 @@ static const struct chan_map channel_map_global[NUM_CHANNELS] = {
 };
 
 static const struct chan_map channel_map_china[NUM_CHANNELS] = {
-	[CHAN_ENUM_2412] = {2412, 1, 2, 40},
-	[CHAN_ENUM_2417] = {2417, 2, 2, 40},
-	[CHAN_ENUM_2422] = {2422, 3, 2, 40},
-	[CHAN_ENUM_2427] = {2427, 4, 2, 40},
-	[CHAN_ENUM_2432] = {2432, 5, 2, 40},
-	[CHAN_ENUM_2437] = {2437, 6, 2, 40},
-	[CHAN_ENUM_2442] = {2442, 7, 2, 40},
-	[CHAN_ENUM_2447] = {2447, 8, 2, 40},
-	[CHAN_ENUM_2452] = {2452, 9, 2, 40},
-	[CHAN_ENUM_2457] = {2457, 10, 2, 40},
-	[CHAN_ENUM_2462] = {2462, 11, 2, 40},
-	[CHAN_ENUM_2467] = {2467, 12, 2, 40},
-	[CHAN_ENUM_2472] = {2472, 13, 2, 40},
-	[CHAN_ENUM_2484] = {2484, 14, 2, 40},
+	[CHAN_ENUM_2412] = {2412, 1, 20, 40},
+	[CHAN_ENUM_2417] = {2417, 2, 20, 40},
+	[CHAN_ENUM_2422] = {2422, 3, 20, 40},
+	[CHAN_ENUM_2427] = {2427, 4, 20, 40},
+	[CHAN_ENUM_2432] = {2432, 5, 20, 40},
+	[CHAN_ENUM_2437] = {2437, 6, 20, 40},
+	[CHAN_ENUM_2442] = {2442, 7, 20, 40},
+	[CHAN_ENUM_2447] = {2447, 8, 20, 40},
+	[CHAN_ENUM_2452] = {2452, 9, 20, 40},
+	[CHAN_ENUM_2457] = {2457, 10, 20, 40},
+	[CHAN_ENUM_2462] = {2462, 11, 20, 40},
+	[CHAN_ENUM_2467] = {2467, 12, 20, 40},
+	[CHAN_ENUM_2472] = {2472, 13, 20, 40},
+	[CHAN_ENUM_2484] = {2484, 14, 20, 20},
 
 	[CHAN_ENUM_4912] = {4912, INVALID_CHANNEL_NUM, 2, 20},
 	[CHAN_ENUM_4915] = {4915, INVALID_CHANNEL_NUM, 2, 20},