mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
Adjust patches that are broken or they found a way upstream
This commit is contained in:
@@ -6408,66 +6408,6 @@ index 1dfe7c6ae4ba..a28f35a03b26 100644
|
||||
--
|
||||
2.44.0
|
||||
|
||||
From 3b25c78f92268d44d0c3c8201a302f49a841c0a1 Mon Sep 17 00:00:00 2001
|
||||
From: Bitterblue Smith <rtl8821cerfe2@gmail.com>
|
||||
Date: Mon, 29 Apr 2024 20:57:52 +0300
|
||||
Subject: [PATCH] wifi: rtw88: usb: Fix disconnection after beacon loss
|
||||
|
||||
When there is beacon loss, for example due to unrelated Bluetooth
|
||||
devices transmitting music nearby, the wifi connection dies soon
|
||||
after the first beacon loss message:
|
||||
|
||||
Apr 28 20:47:14 ideapad2 wpa_supplicant[1161]: wlp3s0f3u4:
|
||||
CTRL-EVENT-BEACON-LOSS
|
||||
Apr 28 20:47:15 ideapad2 wpa_supplicant[1161]: wlp3s0f3u4:
|
||||
CTRL-EVENT-DISCONNECTED bssid=... reason=4 locally_generated=1
|
||||
|
||||
Apr 28 20:47:24 ideapad2 wpa_supplicant[1161]: wlp3s0f3u4:
|
||||
CTRL-EVENT-BEACON-LOSS
|
||||
Apr 28 20:47:25 ideapad2 wpa_supplicant[1161]: wlp3s0f3u4:
|
||||
CTRL-EVENT-DISCONNECTED bssid=... reason=4 locally_generated=1
|
||||
|
||||
Apr 28 20:47:34 ideapad2 wpa_supplicant[1161]: wlp3s0f3u4:
|
||||
CTRL-EVENT-BEACON-LOSS
|
||||
Apr 28 20:47:35 ideapad2 wpa_supplicant[1161]: wlp3s0f3u4:
|
||||
CTRL-EVENT-DISCONNECTED bssid=... reason=4 locally_generated=1
|
||||
|
||||
When the beacon loss happens, mac80211 makes rtw88 transmit a QOS
|
||||
NULL frame and asks to confirm the ACK status. Even though rtw88
|
||||
confirms to mac80211 that the QOS NULL was transmitted successfully,
|
||||
the connection still dies. This is because rtw88 is handing the QOS
|
||||
NULL back to mac80211 with skb->data pointing to the headroom (the
|
||||
TX descriptor) instead of ieee80211_hdr.
|
||||
|
||||
Fix the disconnection by moving skb->data to the correct position
|
||||
before ieee80211_tx_status_irqsafe().
|
||||
|
||||
The problem was observed with RTL8811AU (TP-Link Archer T2U Nano)
|
||||
and the potential future rtw88_8821au driver. Also tested with
|
||||
RTL8811CU (Tenda U9).
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/usb.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/usb.c b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
index 3ba7b81c6080..1dfe7c6ae4ba 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
@@ -278,6 +278,8 @@ static void rtw_usb_write_port_tx_complete(struct urb *urb)
|
||||
info = IEEE80211_SKB_CB(skb);
|
||||
tx_data = rtw_usb_get_tx_data(skb);
|
||||
|
||||
+ skb_pull(skb, rtwdev->chip->tx_pkt_desc_sz);
|
||||
+
|
||||
/* enqueue to wait for tx report */
|
||||
if (info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS) {
|
||||
rtw_tx_report_enqueue(rtwdev, skb, tx_data->sn);
|
||||
--
|
||||
2.44.0
|
||||
|
||||
From 3b25c78f92268d44d0c3c8201a302f49a841c0a1 Mon Sep 17 00:00:00 2001
|
||||
From: Bitterblue Smith <rtl8821cerfe2@gmail.com>
|
||||
Date: Sun, 16 Jun 2024 22:27:34 +0300
|
||||
|
||||
Reference in New Issue
Block a user