wifi: rtw89: fix CTS transmission issue with center frequency deviation

The CTS cannot be received by the peer due to center frequency
deviation. This issue can be solved by correct settings to
transmit proper CTS.

Signed-off-by: Kuan-Chung Chen <damon.chen@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240423121247.24714-1-pkshih@realtek.com
This commit is contained in:
Kuan-Chung Chen
2024-04-23 20:12:46 +08:00
committed by Ping-Ke Shih
parent 4ea11e4db3
commit 7be73dc106
2 changed files with 10 additions and 0 deletions

View File

@@ -3644,6 +3644,7 @@ static int set_host_rpr_ax(struct rtw89_dev *rtwdev)
static int trx_init_ax(struct rtw89_dev *rtwdev)
{
enum rtw89_core_chip_id chip_id = rtwdev->chip->chip_id;
enum rtw89_qta_mode qta_mode = rtwdev->mac.qta_mode;
int ret;
@@ -3687,6 +3688,10 @@ static int trx_init_ax(struct rtw89_dev *rtwdev)
return ret;
}
if (chip_id == RTL8852C)
rtw89_write32_clr(rtwdev, R_AX_RSP_CHK_SIG,
B_AX_RSP_STATIC_RTS_CHK_SERV_BW_EN);
return 0;
}

View File

@@ -1751,6 +1751,7 @@ static int set_host_rpr_be(struct rtw89_dev *rtwdev)
static int trx_init_be(struct rtw89_dev *rtwdev)
{
enum rtw89_core_chip_id chip_id = rtwdev->chip->chip_id;
enum rtw89_qta_mode qta_mode = rtwdev->mac.qta_mode;
int ret;
@@ -1794,6 +1795,10 @@ static int trx_init_be(struct rtw89_dev *rtwdev)
return ret;
}
if (chip_id == RTL8922A)
rtw89_write32_clr(rtwdev, R_BE_RSP_CHK_SIG,
B_BE_RSP_STATIC_RTS_CHK_SERV_BW_EN);
return 0;
}