From nobody Fri Feb 7 01:16:45 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ypwzf3sVWz5mPB4; Fri, 07 Feb 2025 01:16:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ypwzf1qwFz3w4B; Fri, 07 Feb 2025 01:16:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738891006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hj0GDolatdJ3ahqfGC30so+8Kv14PX+ksmcVh66gxbA=; b=ZvUBjXd+ALglFWRIncBP6npAB/+9JlKXv4/Qe7dhjM1yVkeCHrOtd7Fx56f8yzgDLRsYK/ 8iYjvVh2pTLu8noWpK0knVySbA1EndzCWy2YaSSs7F/CksHVukhxQHgC0I3/pcU/oaC034 7BUICGuEriG1iRtuPvKdBkwXKUtMQPu2rEjWcq3KMFhZ2ic2jBdANa2JSiy8Bb7yujKj4j bX6dCDokDahbPgxWx35X+FTe7u9Us9J+psnRA6Xy1zNqfqAJRtRL2XwpJnJxv90KKNlKzm bjDI/iqAO2X3WaqrsS0+++lG3bmOeSVGEHkGPZyED1FyFKq6WiSPNOVy1msRhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738891006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hj0GDolatdJ3ahqfGC30so+8Kv14PX+ksmcVh66gxbA=; b=dmRCOavLyi1SL3q5nsmUCCQ8n+z1TK2AlnY6cff4OBCAbcYvHvFxikeJAoYQLnH4UhcO4N 65Un9ymgItIsHUDSCCZI3OVSRGtL4zYbiYvWar3qAd36RK47u/q7SderHe0YSRE19jY5sU an/czxWg6PUdWh1pEBKDAW5AWnhpNueO1yzx41TL0hekQL2T5CDtE5drOGL1plsycUfh4i 7IJPDC0/I6BNm/NCDx9bVIBdD8zf2BEDKXESV6+1jsNMGQkyRtS5DIYUvBkDnrN4PP2HkC ThNcH+pRAGujDTiMPptNaQsnvLgf8KPpqJhc9MoVEX8jykVvk6MvU/u341TUng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1738891006; a=rsa-sha256; cv=none; b=dLyfDOKzupbtxYx55tdaJfYLYBd2viJonf6UoQEAKswo44co6kUTbKmv3qGkSSBENALU99 Mg+mrs7D+bd/HH7+JYTKHleWo6hAprZCzcirDMcMlMQMTWXYwE7ACIOglFSxWhwexMc+j4 4Cs8PtXN93FNJpDUbGiG76V6bNUiSCEhDwHvUm8G/9PzGNtDrQhPLKuF9y4jUH5ZeCmPWC sZHufOiu8d3oI1TUjkx+wWzJ0szL0e4ivLr0Khy0XRkx1AnKqnz3teaNR5PwWmHIKMcDK1 IQ3wc50MzRVUg2mByPnIJ5Ck3UkNiRHP3GmVq8nyerQxHM0RVsjubP6aRTyCsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ypwzf0t5rz12yN; Fri, 07 Feb 2025 01:16:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5171Gj7N087987; Fri, 7 Feb 2025 01:16:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5171GjoS087984; Fri, 7 Feb 2025 01:16:45 GMT (envelope-from git) Date: Fri, 7 Feb 2025 01:16:45 GMT Message-Id: <202502070116.5171GjoS087984@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 618afeb7f375 - stable/14 - LinuxKPI 802.11 / rtw88: make packets flow again List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 618afeb7f3751ffb93a3d7ebbace4ec07b3e90cb Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=618afeb7f3751ffb93a3d7ebbace4ec07b3e90cb commit 618afeb7f3751ffb93a3d7ebbace4ec07b3e90cb Author: Bjoern A. Zeeb AuthorDate: 2024-12-20 14:23:50 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-06 20:52:42 +0000 LinuxKPI 802.11 / rtw88: make packets flow again In 886653492945f we added checks for packets to only go out if the station is known to the firmware (amongst others) as there are implications in drivers. Unfortunately rtw88 does not support the mac80211 (*sta_state)() KPI but only the fallback (*sta_add/remove)() in which case the station is only added to firmware when going from AUTH to ASSOC. That means we had no chance to get authenticated anymore. PR: 283142, 274382 Fixes: 886653492945f (make sure we can send DISASSOC or DEAUTH frames) Tested by: imb protected-networks.net, oleg.nauman gmail.com Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48161 (cherry picked from commit 2372f8cc640c2f4ab82831e6ac0e27ab6c18321a) --- sys/compat/linuxkpi/common/src/linux_80211.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index f22ab8435a2f..d2c2a020399d 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -3705,7 +3705,16 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, lsta = ni->ni_drv_data; LKPI_80211_LSTA_TXQ_LOCK(lsta); +#if 0 if (!lsta->added_to_drv || !lsta->txq_ready) { +#else + /* + * Backout this part of 886653492945f which breaks rtw88 or + * in general drivers without (*sta_state)() but only the + * legacy fallback to (*sta_add)(). + */ + if (!lsta->txq_ready) { +#endif LKPI_80211_LSTA_TXQ_UNLOCK(lsta); /* * Free the mbuf (do NOT release ni ref for the m_pkthdr.rcvif! @@ -3953,7 +3962,16 @@ lkpi_80211_txq_task(void *ctx, int pending) * We also use txq_ready as a semaphore and will drain the txq manually * if needed on our way towards SCAN/INIT in the state machine. */ +#if 0 shall_tx = lsta->added_to_drv && lsta->txq_ready; +#else + /* + * Backout this part of 886653492945f which breaks rtw88 or + * in general drivers without (*sta_state)() but only the + * legacy fallback to (*sta_add)(). + */ + shall_tx = lsta->txq_ready; +#endif if (__predict_true(shall_tx)) mbufq_concat(&mq, &lsta->txq); /*