]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 Feb 2025 09:05:14 +0000 (10:05 +0100)
commit fb2fcfbe5eef9ae26b0425978435ae1308951e51 upstream.

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
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/wireless/realtek/rtw88/sdio.c

index b67e551fcee3ef1fc14851e1035e97af0987f579..1d62b38526c4861fc110169e60b5e463289d9df1 100644 (file)
@@ -1193,6 +1193,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);