Message ID | bca8949b-e2bd-4515-98fd-70d3049a0097@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Ping-Ke Shih |
Headers | show |
Series | [v3,1/2] wifi: rtw88: 8822c: Fix reported RX band width | expand |
Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote: > "iw dev wlp2s0 station dump" shows incorrect rx bitrate: > > tx bitrate: 866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2 > rx bitrate: 86.7 MBit/s VHT-MCS 9 VHT-NSS 1 > > This is because the RX band width is calculated incorrectly. Fix the > calculation according to the phydm_rxsc_2_bw() function from the > official drivers. > > After: > > tx bitrate: 866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2 > rx bitrate: 390.0 MBit/s VHT-MCS 9 80MHz VHT-NSS 1 > > It also works correctly with the AP configured for 20 MHz and 40 MHz. > > Tested with RTL8822CE. > > Cc: stable@vger.kernel.org > Fixes: e3037485c68e ("rtw88: new Realtek 802.11ac driver") > Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com> 2 patch(es) applied to rtw-next branch of rtw.git, thanks. a71ed5898dfa wifi: rtw88: 8822c: Fix reported RX band width 0129e5ff2842 wifi: rtw88: 8703b: Fix reported RX band width --- https://github.com/pkshih/rtw.git
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8822c.c b/drivers/net/wireless/realtek/rtw88/rtw8822c.c index bc807b13e9ce..e265a35184ab 100644 --- a/drivers/net/wireless/realtek/rtw88/rtw8822c.c +++ b/drivers/net/wireless/realtek/rtw88/rtw8822c.c @@ -2612,12 +2612,14 @@ static void query_phy_status_page1(struct rtw_dev *rtwdev, u8 *phy_status, else rxsc = GET_PHY_STAT_P1_HT_RXSC(phy_status); - if (rxsc >= 9 && rxsc <= 12) + if (rxsc == 0) + bw = rtwdev->hal.current_band_width; + else if (rxsc >= 1 && rxsc <= 8) + bw = RTW_CHANNEL_WIDTH_20; + else if (rxsc >= 9 && rxsc <= 12) bw = RTW_CHANNEL_WIDTH_40; - else if (rxsc >= 13) - bw = RTW_CHANNEL_WIDTH_80; else - bw = RTW_CHANNEL_WIDTH_20; + bw = RTW_CHANNEL_WIDTH_80; channel = GET_PHY_STAT_P1_CHANNEL(phy_status); rtw_set_rx_freq_band(pkt_stat, channel);
"iw dev wlp2s0 station dump" shows incorrect rx bitrate: tx bitrate: 866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2 rx bitrate: 86.7 MBit/s VHT-MCS 9 VHT-NSS 1 This is because the RX band width is calculated incorrectly. Fix the calculation according to the phydm_rxsc_2_bw() function from the official drivers. After: tx bitrate: 866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2 rx bitrate: 390.0 MBit/s VHT-MCS 9 80MHz VHT-NSS 1 It also works correctly with the AP configured for 20 MHz and 40 MHz. Tested with RTL8822CE. Cc: stable@vger.kernel.org Fixes: e3037485c68e ("rtw88: new Realtek 802.11ac driver") Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com> --- v3: - Use Fixes and Cc: stable. v2: - Use Fixes instead of Cc: stable. --- drivers/net/wireless/realtek/rtw88/rtw8822c.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)