rtlwifi: Extend tx_power_by_rate_offset size for newer IC
authorPing-Ke Shih <pkshih@realtek.com>
Mon, 29 Jan 2018 03:26:35 +0000 (11:26 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 27 Feb 2018 16:15:19 +0000 (18:15 +0200)
In older design, the TX power is grouped into rate section (smaller array
size), but new design groups them into rate (larger array size). Thus,
we extend the size for both cases, and add compile time assertion.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtlwifi/base.c
drivers/net/wireless/realtek/rtlwifi/wifi.h

index 92f99a3..c000c85 100644 (file)
@@ -2646,6 +2646,8 @@ EXPORT_SYMBOL_GPL(rtl_global_var);
 
 static int __init rtl_core_module_init(void)
 {
+       BUILD_BUG_ON(TX_PWR_BY_RATE_NUM_RATE < TX_PWR_BY_RATE_NUM_SECTION);
+
        if (rtl_rate_control_register())
                pr_err("rtl: Unable to register rtl_rc, use default RC !!\n");
 
index 31ef9f7..29c1289 100644 (file)
@@ -174,6 +174,7 @@ enum rtl8192c_h2c_cmd {
 #define TX_PWR_BY_RATE_NUM_BAND                2
 #define TX_PWR_BY_RATE_NUM_RF          4
 #define TX_PWR_BY_RATE_NUM_SECTION     12
+#define TX_PWR_BY_RATE_NUM_RATE                84 /* >= TX_PWR_BY_RATE_NUM_SECTION */
 #define MAX_BASE_NUM_IN_PHY_REG_PG_24G  6
 #define MAX_BASE_NUM_IN_PHY_REG_PG_5G  5
 
@@ -1286,7 +1287,7 @@ struct rtl_phy {
        u32 tx_power_by_rate_offset[TX_PWR_BY_RATE_NUM_BAND]
                                   [TX_PWR_BY_RATE_NUM_RF]
                                   [TX_PWR_BY_RATE_NUM_RF]
-                                  [TX_PWR_BY_RATE_NUM_SECTION];
+                                  [TX_PWR_BY_RATE_NUM_RATE];
        u8 txpwr_by_rate_base_24g[TX_PWR_BY_RATE_NUM_RF]
                                 [TX_PWR_BY_RATE_NUM_RF]
                                 [MAX_BASE_NUM_IN_PHY_REG_PG_24G];