From nobody Thu Mar 5 13:44:31 2026 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 4fRW452M9sz6T3ZZ for ; Thu, 05 Mar 2026 13:44:37 +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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fRW446gxRz3JR8 for ; Thu, 05 Mar 2026 13:44:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772718277; 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=zx7b1U61tDca5A69HTbNYyp7gD+AUoH0rLh5jCxjmX0=; b=FXimvRdakRaeLKtoWAHStBOfDm6CX5JQQqCaiCTZqF0tamjfwehExwTgLWcBISAN87PtKe cu0Yvo01YnK5s+AmR84NjKT8x/nql4WYPlVA7LfNDAMKGQFQWv/4LJ3nkgs2BqvbOaAvEn ClS+WVzMDizue8cuzKieJ9Unyjl85Wd0j72NMRjcM+c7yeMpU25bW44T3zknk1jKbODIzk 35vSU+X9Qy2Zs8DrpoLTm6sCFyj1vhb5bwWb002QX3Foo6TsvCTGbn76nagdPVjV+gfrOC JwvNMZipwfDeTw5ZnRjYenDp2RzwQg9MUAgA0W/EHtgKHCLJ4OAcO4WIpAse9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1772718277; a=rsa-sha256; cv=none; b=Og49nQNgFFLhj5jsW38ZYExhzP3buWLjZEqvbPLQDtpm9LW1b0GW4RyOdxoZZ3Rkp1I8/x 4be8QpNgUyLvgYbHavjbjVkGP5YCVpy8iWtJ//Od7q7NRdTMyQqxXaH8uegxxqnwDCvUVr bMXA6xPst5UyGF1cUP0AJQ9K+nLTqAZ1BWWfqeGeJIckU6cr0I+12TL4bn8CPRYc+M+B9/ FUorhoDV6FhBm/lGgJQvlyiAqdNBbuTmumEA7Cg/kjReQ4hmlLDwzgBTxYwV7lQoaXTTq7 XGxJuVWWJhjSs8YoZ+qVUPNH8ZuB2SHJUy+GQzEkf6yReEhMEeTQweGBb7WylQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772718277; 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=zx7b1U61tDca5A69HTbNYyp7gD+AUoH0rLh5jCxjmX0=; b=DHrsR7rY8fHtHmHrJwyyt4awaHZyJv0o66Qkth4rpmYAHpNCq2AFTijTFUN9UgAUf6Lk7d XOLCA69S9Xne2i/u7x+9MOeecyO4Du5n1qx9ztYY4gvx54JGjTw6f4Cv26n7DSdQpuF4XR LrEwRmbHn5QMnqDW+rA1vo6wAQjiwwnB+eWPFJuGCkH7ZJqS/pQPKHb9AZmeq9xw9OiGZT 7SYTuPmRAWq4HPsOgynK+41S7sjWVMIGbdeJHcpP/XMTxCo1aQImnDn8bDUI0xMEL7L8ty nrLtRW59cwHH/zjAt4pEGAFiCa2dyOYtHIhI8szau/fd91f8JX2bptNU5IuSVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fRW44659szgGS for ; Thu, 05 Mar 2026 13:44:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21582 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Mar 2026 13:44:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 9b03cc2a70e4 - main - net80211: sta: use IEEE80211_STATUS_SUCCESS instead of magic 0 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/main X-Git-Reftype: branch X-Git-Commit: 9b03cc2a70e4b6354c5f5b90e4c51b850b6b1dd2 Auto-Submitted: auto-generated Date: Thu, 05 Mar 2026 13:44:31 +0000 Message-Id: <69a988bf.21582.38fcbb17@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9b03cc2a70e4b6354c5f5b90e4c51b850b6b1dd2 commit 9b03cc2a70e4b6354c5f5b90e4c51b850b6b1dd2 Author: Bjoern A. Zeeb AuthorDate: 2026-03-02 10:33:53 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-03-05 13:44:00 +0000 net80211: sta: use IEEE80211_STATUS_SUCCESS instead of magic 0 Rather than using the status != 0 check use the way more descriptive status != IEEE80211_STATUS_SUCCESS definition. This makes it a lot more clear what is checked here. While here add a comment in case aof the (Re)Assoc Resp failure as we do not update state in that case but rely on a timeout which will bounce us back to State 1 (cf. 802.11-2024, Figure 11-23) which means SCAN in our case, rather than possibly moving us back to AUTH. We will likely have to revisit this when SAE hits the tree. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D55643 --- sys/net80211/ieee80211_sta.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sys/net80211/ieee80211_sta.c b/sys/net80211/ieee80211_sta.c index 19e5ffe9a367..3522b1b24742 100644 --- a/sys/net80211/ieee80211_sta.c +++ b/sys/net80211/ieee80211_sta.c @@ -1011,7 +1011,7 @@ sta_auth_open(struct ieee80211_node *ni, struct ieee80211_frame *wh, vap->iv_stats.is_rx_bad_auth++; return; } - if (status != 0) { + if (status != IEEE80211_STATUS_SUCCESS) { IEEE80211_NOTE(vap, IEEE80211_MSG_DEBUG | IEEE80211_MSG_AUTH, ni, "open auth failed (reason %d)", status); vap->iv_stats.is_rx_auth_fail++; @@ -1100,7 +1100,7 @@ sta_auth_shared(struct ieee80211_node *ni, struct ieee80211_frame *wh, IEEE80211_FREE(ni->ni_challenge, M_80211_NODE); ni->ni_challenge = NULL; } - if (status != 0) { + if (status != IEEE80211_STATUS_SUCCESS) { IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_DEBUG | IEEE80211_MSG_AUTH, wh, "shared key auth failed (reason %d)", status); @@ -1766,7 +1766,12 @@ sta_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m0, int subtype, frm += 2; status = le16toh(*(uint16_t *)frm); frm += 2; - if (status != 0) { + if (status != IEEE80211_STATUS_SUCCESS) { + /* + * See ieee80211_tx_mgt_cb() for state handling. This + * essentially provokes a timeout bouncing us back to + * State 1 instead of dealing with it properly. + */ IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_ASSOC, wh->i_addr2, "%sassoc failed (reason %d)", ISREASSOC(subtype) ? "re" : "", status);