From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mta0.migadu.com (out-253.mta0.migadu.com [91.218.175.253]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 00AB8448D19 for ; Wed, 9 Sep 2026 07:46:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.253 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788939987; cv=none; b=X7W5D0LJRWkx/xQ5j6Ytdi5M1DUzbnCQsYymleCLdh3xlq/I60PEjLrWUFejRuHptQ+T0zgyXMEmImUiHQAsJK/3o6i628qYLVTavOKrFwzNP9SN1kvd+Tn+HCscg+8fniUvvekq0DvDOnvku5Fe1k6RiMtyC9KtRyFFuPcOi0A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788939987; c=relaxed/simple; bh=bzxSM15rzJHsp6riBpQ3uZbf0JigR6jvr11t70GGikw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YZ7DJIxPyJJqrlY1g/Z4QfuAvIagLtnuxtNnh+MLGKGUccefiY8CvzDY0P4PNbao2RbsaTxCjdmXR3sMvB3fSWyLoha4YyKyggOk82yaMkDvBeM205MxF3Hw5Q/YQlthejsB3U7Kc6xIbiFFmsf/At87zggGXgU+FbuD70StlGc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=YqvuFNWP; arc=none smtp.client-ip=91.218.175.253 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="YqvuFNWP" X-Envelope-To: linux-wireless@vger.kernel.org DKIM-Signature: a=rsa-sha256; bh=bzxSM15rzJHsp6riBpQ3uZbf0JigR6jvr11t70GGikw=; c=simple/simple; d=linux.dev; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1788939982; v=1; x=1789544782; b=YqvuFNWPB35XxwNnv9svJPxW5il/ZSY5j445VXwB5rNmW0lUl3xHZBu5GhW9Uhl+sJaZX5pa 8JKVbuDs34c6v3GBi24FVA5cCJXUinnEwFUiL9mlIgsSJ90iK7sAJ/IcBhMIO/Qkp0N4PGbG2O9 JzhSyfRE7WCazcWhVL0HVf5c= X-Envelope-To: linux-wireless@vger.kernel.org Received: by smtp.migadu.com with ESMTPS id f19ea53a44304837; Wed, 09 Sep 2026 07:46:22 +0000 X-Mizu-Trace-ID: f19ea53a44304837 X-Migadu-Flow: FLOW_OUT From: luka.gejak@linux.dev To: Ping-Ke Shih Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, Michael Straube , Peter Robinson , Bitterblue Smith , Luka Gejak Subject: [PATCH v11 3/7] wifi: rtw88: tx: extend the TX report purge timeout to RTL8723BS Date: Wed, 9 Sep 2026 09:45:52 +0200 Message-ID: <20260909074556.55709-4-luka.gejak@linux.dev> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260909074556.55709-1-luka.gejak@linux.dev> References: <20260909074556.55709-1-luka.gejak@linux.dev> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Luka Gejak Commit c80788f7c5ae ("wifi: rtw88: increase TX report timeout to fix race condition") raised the purge timeout to 2500 ms for the RTL8723DU, because the firmware can stay off channel during background scans for longer than the 500 ms default, which delays the TX reports and lets the purge timer drop the tracking skbs. The host stack then reads the missing status as loss and collapses TCP throughput. The RTL8723BS runs the same vendor firmware over a slower SDIO host and hits the same race. Testers on ARM SDIO boards see "failed to get tx report from firmware" under load, with the same throughput collapse. Extend the 2500 ms timeout to the RTL8723BS. Reported-by: Peter Robinson Closes: https://lore.kernel.org/all/CALeDE9PgQmpMfDt1DgfLD4tBFGH0MZ7GncV6RUEOHhHbKF+TdQ@mail.gmail.com/ Signed-off-by: Luka Gejak Acked-by: Ping-Ke Shih --- Notes: Changes in v11: none. Changes in v10: none. Changes in v9: none. Changes in v8: none. Changes in v7: none. Changes in v6: none. Changes in v5: none. Restored in v4 after being dropped in v2, because testers on slower ARM SDIO hosts hit the warning that commit c80788f7c5ae already fixes for the RTL8723DU. drivers/net/wireless/realtek/rtw88/tx.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/realtek/rtw88/tx.c b/drivers/net/wireless/realtek/rtw88/tx.c index 8786bbb421c2..4e110a457e71 100644 --- a/drivers/net/wireless/realtek/rtw88/tx.c +++ b/drivers/net/wireless/realtek/rtw88/tx.c @@ -208,8 +208,9 @@ void rtw_tx_report_enqueue(struct rtw_dev *rtwdev, struct sk_buff *skb, u8 sn) __skb_queue_tail(&tx_report->queue, skb); spin_unlock_irqrestore(&tx_report->q_lock, flags); - if (rtwdev->chip->id == RTW_CHIP_TYPE_8723D && - rtwdev->hci.type == RTW_HCI_TYPE_USB) + if ((rtwdev->chip->id == RTW_CHIP_TYPE_8723D && + rtwdev->hci.type == RTW_HCI_TYPE_USB) || + rtw_is_8723bs(rtwdev)) timeout = msecs_to_jiffies(2500); mod_timer(&tx_report->purge_timer, jiffies + timeout); -- 2.55.0