diff options
author | Bitterblue Smith <rtl8821cerfe2@gmail.com> | 2024-10-23 17:10:32 +0300 |
---|---|---|
committer | Ping-Ke Shih <pkshih@realtek.com> | 2024-10-29 11:58:11 +0800 |
commit | c7706b1173c77185a2ef40c7d1811021566563f3 (patch) | |
tree | 56e85cf0eaa702b6afac0a6120dcf2dadae81467 /drivers/net/wireless/realtek/rtw88/sdio.c | |
parent | fbb5e1b3637a720c83c91a7b1476ab0429bfc747 (diff) |
wifi: rtw88: Enable data rate fallback for older chips
RTL8811AU fails to perform the 4-way handshake when the AP is too far
because it transmits the EAPOL frames at MCS9 and when that doesn't
work it retries 48 times with the same rate, to no avail.
Retrying 48 times with the same rate seems pointless. Set the
appropriate field in the TX descriptor to allow it to use lower rates
when retrying.
Set it for RTL8723D and RTL8703B because they interpret this field the
same way as RTL8811A.
The newer RTL8822C, RTL8822B, RTL8821C seem to interpret this field in
the TX descriptor differently, so leave it alone for those chips.
Tested with RTL8811AU and RTL8723DU.
Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/2b3e3e6f-541b-4a3b-8ca3-65b267e6a95a@gmail.com
Diffstat (limited to 'drivers/net/wireless/realtek/rtw88/sdio.c')
-rw-r--r-- | drivers/net/wireless/realtek/rtw88/sdio.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/realtek/rtw88/sdio.c b/drivers/net/wireless/realtek/rtw88/sdio.c index f0b06ed8f76d..799230eb5f16 100644 --- a/drivers/net/wireless/realtek/rtw88/sdio.c +++ b/drivers/net/wireless/realtek/rtw88/sdio.c @@ -864,7 +864,7 @@ static void rtw_sdio_tx_skb_prepare(struct rtw_dev *rtwdev, pkt_info->qsel = rtw_sdio_get_tx_qsel(rtwdev, skb, queue); - rtw_tx_fill_tx_desc(pkt_info, skb); + rtw_tx_fill_tx_desc(rtwdev, pkt_info, skb); rtw_tx_fill_txdesc_checksum(rtwdev, pkt_info, pkt_desc); } |