mirror of
https://github.com/torvalds/linux.git
synced 2026-06-03 12:03:54 +02:00
wifi: rtl8xxxu: Fix HT40 channel config for RTL8192CU, RTL8723AU
Flip the response rate subchannel. It was backwards, causing low speeds when using 40 MHz channel width. "iw dev ... station dump" showed a low RX rate, 11M or less. Also fix the channel width field of RF6052_REG_MODE_AG. Tested only with RTL8192CU, but these settings are identical for RTL8723AU. Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com> Reviewed-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/1f46571d-855b-43e1-8bfc-abacceb96043@gmail.com
This commit is contained in:
parent
2a2aae3655
commit
5511ba3de4
|
|
@ -1252,7 +1252,7 @@ void rtl8xxxu_gen1_config_channel(struct ieee80211_hw *hw)
|
|||
opmode &= ~BW_OPMODE_20MHZ;
|
||||
rtl8xxxu_write8(priv, REG_BW_OPMODE, opmode);
|
||||
rsr &= ~RSR_RSC_BANDWIDTH_40M;
|
||||
if (sec_ch_above)
|
||||
if (!sec_ch_above)
|
||||
rsr |= RSR_RSC_UPPER_SUB_CHANNEL;
|
||||
else
|
||||
rsr |= RSR_RSC_LOWER_SUB_CHANNEL;
|
||||
|
|
@ -1321,9 +1321,8 @@ void rtl8xxxu_gen1_config_channel(struct ieee80211_hw *hw)
|
|||
|
||||
for (i = RF_A; i < priv->rf_paths; i++) {
|
||||
val32 = rtl8xxxu_read_rfreg(priv, i, RF6052_REG_MODE_AG);
|
||||
if (hw->conf.chandef.width == NL80211_CHAN_WIDTH_40)
|
||||
val32 &= ~MODE_AG_CHANNEL_20MHZ;
|
||||
else
|
||||
val32 &= ~MODE_AG_BW_MASK;
|
||||
if (hw->conf.chandef.width != NL80211_CHAN_WIDTH_40)
|
||||
val32 |= MODE_AG_CHANNEL_20MHZ;
|
||||
rtl8xxxu_write_rfreg(priv, i, RF6052_REG_MODE_AG, val32);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user