Commit 7be73dc1 authored by Kuan-Chung Chen's avatar Kuan-Chung Chen Committed by Ping-Ke Shih
Browse files

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: default avatarKuan-Chung Chen <damon.chen@realtek.com>
Signed-off-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240423121247.24714-1-pkshih@realtek.com
parent 4ea11e4d
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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;
}

+5 −0
Original line number Diff line number Diff line
@@ -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;
}