From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mta1.migadu.com (out-205.mta1.migadu.com [95.215.58.205]) (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 9086645DF43 for ; Fri, 14 Aug 2026 10:54:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.205 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786704860; cv=none; b=NeWy6ZEJ6XDUqQ3rMz10a0c3IQBktVN8VUJ+AuC1nYFulQuQw8GDk/e9n4Sxhkbq3lyBOmlQLdIfozWyvw2rTcAPoqqRXAEyZtrxBrxlSrpTUtTUmmkrEqsv0Et01DdNw48+3VqnCApXEhX2+VKeV/fL37p1iQwwcq5tJbgPH2U= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786704860; c=relaxed/simple; bh=cb1ghMSjsMPV5UATzLYB2QEVJLv/pEmZ1lCn92KHN9s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZS9Uz+1cBzxTyy0NOWUAlvqQl0T1IRhfMuaU43vSfF00xzmasLMu7Pecze2i9S/iUm9Fh9o2CzLk12BPpf9wVB4pWUowj/FlbdjESVdZE+PlrtfL4m6TzM+i3VcBLNkhKAX/5xy7T1mQ8IVrLDRdkmvancN5j5mMHflkA6zaUT8= 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=ktcMgqQ8; arc=none smtp.client-ip=95.215.58.205 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="ktcMgqQ8" X-Envelope-To: linux-kernel@vger.kernel.org DKIM-Signature: a=rsa-sha256; bh=cb1ghMSjsMPV5UATzLYB2QEVJLv/pEmZ1lCn92KHN9s=; c=simple/simple; d=linux.dev; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1786704848; v=1; x=1787309648; b=ktcMgqQ84ir2q32C3DDrnPb93I7J/2uQ4tFrApIE0Gz31i3qL77BZ23JNHfNl0kiWRmpA+4h iFM5gFGmR2bxXuLprMJfHHS4vTtahBqukm5ooNaor2/RMN5ecHBAIx8ZEX0VpCN+UNVI2Upm8I1 sPbOlf+hQ6YgPunnv641xnvE= X-Envelope-To: linux-kernel@vger.kernel.org Received: from kali (46.239.4.165) by smtp.migadu.com with ESMTPS id e24ab82240e9b20d; Fri, 14 Aug 2026 10:54:07 +0000 X-Migadu-Flow: FLOW_OUT From: luka.gejak@linux.dev To: Ping-Ke Shih , linux-wireless@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Michael Straube , Bitterblue Smith , Peter Robinson , Hans de Goede , Luka Gejak Subject: [PATCH v5 3/6] wifi: rtw88: tx: extend the TX report purge timeout to RTL8723BS Date: Fri, 14 Aug 2026 10:53:23 +0000 Message-ID: <20260814105327.6687-4-luka.gejak@linux.dev> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260814105327.6687-1-luka.gejak@linux.dev> References: <20260814105327.6687-1-luka.gejak@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@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 --- 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 9d747a060b98..797c1e0402f2 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.53.0