Message ID | 20240423121247.24714-1-pkshih@realtek.com |
---|---|
State | New |
Headers | show |
Series | [1/2] wifi: rtw89: fix CTS transmission issue with center frequency deviation | expand |
Ping-Ke Shih <pkshih@realtek.com> wrote: > From: Kuan-Chung Chen <damon.chen@realtek.com> > > 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> 2 patch(es) applied to rtw-next branch of rtw.git, thanks. 7be73dc106a9 wifi: rtw89: fix CTS transmission issue with center frequency deviation 3ef60f44830a wifi: rtw89: 8852b: update hardware parameters for RFE type 5 --- https://github.com/pkshih/rtw.git
diff --git a/drivers/net/wireless/realtek/rtw89/mac.c b/drivers/net/wireless/realtek/rtw89/mac.c index 8b34044f7a8a..b78b110ac7b2 100644 --- a/drivers/net/wireless/realtek/rtw89/mac.c +++ b/drivers/net/wireless/realtek/rtw89/mac.c @@ -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; } diff --git a/drivers/net/wireless/realtek/rtw89/mac_be.c b/drivers/net/wireless/realtek/rtw89/mac_be.c index f16467377eab..934bdf3b398f 100644 --- a/drivers/net/wireless/realtek/rtw89/mac_be.c +++ b/drivers/net/wireless/realtek/rtw89/mac_be.c @@ -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; }