]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: rtw88: sdio: Fix disconnection after beacon loss
authorFiona Klute <fiona.klute@gmx.de>
Mon, 6 Jan 2025 13:54:34 +0000 (15:54 +0200)
committerPing-Ke Shih <pkshih@realtek.com>
Sun, 12 Jan 2025 02:03:56 +0000 (10:03 +0800)
This is the equivalent of commit 28818b4d871b ("wifi: rtw88: usb: Fix
disconnection after beacon loss") for SDIO chips.
Tested on Pinephone (RTL8723CS), random disconnections became rare,
instead of a frequent nuisance.

Cc: stable@vger.kernel.org
Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
Tested-by: Vasily Khoruzhick <anarsoul@gmail.com> # Tested on Pinebook
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250106135434.35936-1-fiona.klute@gmx.de
drivers/net/wireless/realtek/rtw88/sdio.c

index 799230eb5f16ffb2455dd1729d5f28a29937168d..e024061bdbf7079cc59cf5ee7e3d6fef4f851402 100644 (file)
@@ -1192,6 +1192,8 @@ static void rtw_sdio_indicate_tx_status(struct rtw_dev *rtwdev,
        struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
        struct ieee80211_hw *hw = rtwdev->hw;
 
+       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);