[WCNCR00146539] regd: Fix unexpected TxPwrLimit-related struct size

[Description]
Fix unexpected TxPwrLimit-related struct size

Modify definitions of CMD_SET_COUNTRY_CHANNEL_POWER_LIMIT_V2_T and
CMD_CHANNEL_POWER_LIMIT_V2.

Feature: regd
Change-Id: Ieb2d802d6e782e664918447913c012969a7f8610
Signed-off-by: George Kuo <george.kuo@mediatek.com>
CR-Id: WCNCR00146539
diff --git a/include/nic_cmd_event.h b/include/nic_cmd_event.h
index 6197a17..c13a0e7 100644
--- a/include/nic_cmd_event.h
+++ b/include/nic_cmd_event.h
@@ -1704,14 +1704,14 @@
 	UINT_8 tx_pwr_lg_80;
 
 	UINT_8 tx_pwr_1ss_delta;
-	UINT_8 ucReserved_1[3];
+	UINT_8 ucReserved_1[2];
 } CMD_CHANNEL_POWER_LIMIT_V2, *P_CMD_CHANNEL_POWER_LIMIT_V2;
 
 typedef struct _CMD_SET_COUNTRY_CHANNEL_POWER_LIMIT_V2_T {
 	UINT_8 ucNum;
 	UINT_8 eband; /*ENUM_BAND_T*/
-	UINT_32 countryCode;
 	UINT_8 usReserved[2];
+	UINT_32 countryCode;
 	CMD_CHANNEL_POWER_LIMIT_V2 rChannelPowerLimit[0];
 } CMD_SET_COUNTRY_CHANNEL_POWER_LIMIT_V2_T, *P_CMD_SET_COUNTRY_CHANNEL_POWER_LIMIT_V2_T;
 
diff --git a/mgmt/rlm_domain.c b/mgmt/rlm_domain.c
index a17dd66..1e04bec 100644
--- a/mgmt/rlm_domain.c
+++ b/mgmt/rlm_domain.c
@@ -2394,6 +2394,19 @@
 			sizeof(CMD_SET_COUNTRY_CHANNEL_POWER_LIMIT_V2_T) +
 			ch_cnt * sizeof(CMD_CHANNEL_POWER_LIMIT_V2);
 
+		/* compile time assertion on firmware command structs */
+		DATA_STRUCT_INSPECTING_ASSERT(sizeof(CMD_SET_COUNTRY_CHANNEL_POWER_LIMIT_V2_T) == 8);
+		DATA_STRUCT_INSPECTING_ASSERT(sizeof(CMD_CHANNEL_POWER_LIMIT_V2) == 40);
+		DATA_STRUCT_INSPECTING_ASSERT(
+			OFFSET_OF(CMD_SET_COUNTRY_CHANNEL_POWER_LIMIT_V2_T, rChannelPowerLimit) ==
+			sizeof(CMD_SET_COUNTRY_CHANNEL_POWER_LIMIT_V2_T));
+		DATA_STRUCT_INSPECTING_ASSERT(
+			OFFSET_OF(CMD_SET_COUNTRY_CHANNEL_POWER_LIMIT_V2_T, rChannelPowerLimit[1]) ==
+			sizeof(CMD_SET_COUNTRY_CHANNEL_POWER_LIMIT_V2_T) + 1 * sizeof(CMD_CHANNEL_POWER_LIMIT_V2));
+		DATA_STRUCT_INSPECTING_ASSERT(
+			OFFSET_OF(CMD_SET_COUNTRY_CHANNEL_POWER_LIMIT_V2_T, rChannelPowerLimit[2]) ==
+			sizeof(CMD_SET_COUNTRY_CHANNEL_POWER_LIMIT_V2_T) + 2 * sizeof(CMD_CHANNEL_POWER_LIMIT_V2));
+
 		prCmd[band_idx] = cnmMemAlloc(prAdapter, RAM_TYPE_BUF, u4SetCmdTableMaxSize[band_idx]);
 
 		if (!prCmd[band_idx]) {