From: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> commit de4d4be4fa64ed7b4aa1c613061015bd8fa98b24 upstream. 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@xxxxxxxxxxxxxxx Signed-off-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> Signed-off-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> Link: https://msgid.link/c7653517-cf88-4f57-b79a-8edb0a8b32f0@xxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c @@ -892,8 +892,8 @@ static u8 _rtl92c_phy_get_rightchnlplace 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; } Patches currently in stable-queue which might be from rtl8821cerfe2@xxxxxxxxx are queue-6.9/wifi-rtlwifi-rtl8192de-fix-5-ghz-tx-power.patch queue-6.9/wifi-rtlwifi-rtl8192de-fix-low-speed-with-wpa3-sae.patch queue-6.9/wifi-rtl8xxxu-fix-the-tx-power-of-rtl8192cu-rtl8723au.patch queue-6.9/wifi-rtlwifi-rtl8192de-fix-endianness-issue-in-rx-path.patch