wifi: rtlwifi: rtl8192de: Fix 5 GHz TX power
authorBitterblue Smith <rtl8821cerfe2@gmail.com>
Thu, 25 Apr 2024 18:09:21 +0000 (21:09 +0300)
committerPing-Ke Shih <pkshih@realtek.com>
Thu, 2 May 2024 02:36:13 +0000 (10:36 +0800)
Different channels have different TX power settings. rtl8192de is using
the TX power setting from the wrong channel in the 5 GHz band because
_rtl92c_phy_get_rightchnlplace expects an array which includes all the
channel numbers, but it's using an array which includes only the 5 GHz
channel numbers.

Use the array channel_all (defined in rtl8192de/phy.c) instead of
the incorrect channel5g (defined in core.c).

Tested only with rtl8192du, which will use the same TX power code.

Cc: stable@vger.kernel.org
Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/c7653517-cf88-4f57-b79a-8edb0a8b32f0@gmail.com
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c

index d835a27429f0ff1736d58d71ab08ba6d22809ca5..56b5cd032a9ac805dc763dbde5cef5e28f7fe747 100644 (file)
@@ -892,8 +892,8 @@ static u8 _rtl92c_phy_get_rightchnlplace(u8 chnl)
        u8 place = chnl;
 
        if (chnl > 14) {
-               for (place = 14; place < ARRAY_SIZE(channel5g); place++) {
-                       if (channel5g[place] == chnl) {
+               for (place = 14; place < ARRAY_SIZE(channel_all); place++) {
+                       if (channel_all[place] == chnl) {
                                place++;
                                break;
                        }