From nobody Thu Feb 06 20:50:38 2025 X-Original-To: dev-commits-src-branches@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 4Ypq4Z5QsTz5n2MJ; Thu, 06 Feb 2025 20:50:38 +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 4Ypq4Z4Mfxz3Zm3; Thu, 06 Feb 2025 20:50:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738875038; 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=792JIVrl56+QpPkobel1edh8XQRpC/7jcnuMXBt6NDA=; b=CC/CCNVOqdfijgHlNGugT07cAIvRScjyzNhS8ZZaVKFsYbFE8mRMd9l5c879plec+V6tWM JezFdoO5YP3p7Ol8QThQC42kyyZV6/p2f9MyR2kZCC3u0j0jIwz8jBxLAGyS/rxt6uAMkg w2EP0wiOkZd8X4j9Vyprp9PFJTtCGjiMIqdxzqBSq4/OcpFPqyaivDItmOMozkLcDSxnEY b/WEs6wJ65xQE/8eWctJYVUc854gXrTNusk57VhxaY53WdeAH/dQf7FJwXS3Cych7pn0uV 9/LsrwIf3Preip1zNqUPP4zGyxffRMXQwfeSGOt2fO0XmWPLn5rQwgn9gcKIPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738875038; 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=792JIVrl56+QpPkobel1edh8XQRpC/7jcnuMXBt6NDA=; b=d5en10J+H31li/dUgj8Bc1Hqa0lmw2vb3u1HelNcEanG5X2MtmA46cc21MpT5sBTzLD9m/ rwXpiVaE56ty7T70ukeIuLCZUZF5jqGFuk9M9AYmvASVkWymCA3XL39WcC6c9g3yWsPtlo /CpEgSX1SFPXjuZpLJvUCbtkr979j87ar41WO7ycSC+sHvXl7nn3lGTsY+NFkHZFFe0E9M Ar/RfXAZ8HGtYUAh7BeYBMIe1RjgyMUN8uY+fwXI/DZhUtAXwLLVCe80Y/+eliCZwliHKh 9ranv0MBO4ccFdoq5kOLQaPZm5CxK0MVitftP9h7ukvWSQVTgFFcCnNnQi7gfA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1738875038; a=rsa-sha256; cv=none; b=HCzJzgawdaPGF4ZOYHDDddcqw2WNEsIObAIq6Poucn7HWk0noHM+EKVgXHVZ6JdXmWvDsf QBJ9mdwtmKYrSOWLsHkCq2yyrqLh/8oHqptO1md9RRANp6tnhAY0dms9/J5tD7yNk0tvft gT4CdF90F32wEcdz0NVZXMsoEnlXaBibWHqTsg4vOxLUKLjCibROzBXZM0wARhZfJj3CZP ChnjwWjoX6J7CND2H5ZxBHREl+5Q7I+o+Ctp80bDYa6cx5a4/4uFGVPYDKJoRDnrhKDHuU TijId/oq6gWK3y+iPdKWnuwBvOxHQpYeSUUe6Lr/ceha1N48ScZMwQLH4c8RGw== 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 4Ypq4Z3rFszv0C; Thu, 06 Feb 2025 20:50:38 +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 516Kocql095844; Thu, 6 Feb 2025 20:50:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 516Koc94095841; Thu, 6 Feb 2025 20:50:38 GMT (envelope-from git) Date: Thu, 6 Feb 2025 20:50:38 GMT Message-Id: <202502062050.516Koc94095841@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: fe6e275dc6f7 - stable/13 - LinuxKPI 802.11 / rtw88: make packets flow again List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: fe6e275dc6f7527961ceaf7ce2912a29cdbb00b3 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=fe6e275dc6f7527961ceaf7ce2912a29cdbb00b3 commit fe6e275dc6f7527961ceaf7ce2912a29cdbb00b3 Author: Bjoern A. Zeeb AuthorDate: 2024-12-20 14:23:50 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-06 20:49:51 +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 ef742125dbac..71f53aed2dda 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -3692,7 +3692,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! @@ -3940,7 +3949,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); /*