From nobody Wed Aug 19 15:43:30 2026 X-Original-To: dev-commits-src-main@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 4hQ9pC3GfGz6pDDT for ; Wed, 19 Aug 2026 15:43:31 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hQ9pB6Fncz410V for ; Wed, 19 Aug 2026 15:43:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787154210; 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=A3XFoe4cT3rZp+lrV5VrYlYbfva0KxXAdx2nEIE7Jl8=; b=WN6EEhgsgGP5v5rHUWjOvQ8yxoT/+XbNODy6FlyELpVALq1nfNV07PiW9FZjF+dyZ5njPW qpzQYtzeFtsIy3ZYH4EknLNqB+fJ0vFeo0eCft6hcH1T/uoLiZmmTLgHL6k22kGBdQfmyi A4+aDSxNSh8ZIPkYwbBReWh6/UF6rGt1N9qhUMCovPKN71tu/yrW/f09mojJuEECzij6CW cs27iHUm379k1zm1elAMGjjJEI1+lAFMae8oL8vikmjeOgYi+he9XSx23vMdwJIS5iqydE etYlCQnQygGrftkb0J0Wa8ME64YmL+KgCrk9JDeZDaRaYFsneYcMuH+cY0o1Kg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787154210; a=rsa-sha256; cv=none; b=gJjuQuCfic9QJrBV/X334lYGKpJrJsblXcsYOxTl8H938YOaBt+gN1q13HB5sioiiIwN91 SILWRiUw3Wza/vh1qaquu/lvjJ+h0PtIXFeEL0HwS9ZnbwJfSjkjLTXH3NSrMGcFdTpOwl 8JpOhOju7b0KhWEaB50tcnBGi6VCshtA1RUiCE/N3j+dPPLKra2ZLn2HnA20IFoL0KNy3P muXwh+h1/8mkgnIP0EpWGb4nb4+tWtAAAHS40m8sZ7YrQcUnhnRpVgfJfvpps8HFZyXHXU wvkzhk1WMKalsijT52Vz52AN/eI2KRvubb9SG6inWjVDJbFmCSzADL3jLAMeIA== 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=1787154210; 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=A3XFoe4cT3rZp+lrV5VrYlYbfva0KxXAdx2nEIE7Jl8=; b=SQ2ji8SmbLnvUcI0rEgtxOc6uXsiEZ/+QRVkLogiTXWYRoHuDkzV1x8EtmTpp1R/LX2+rR y5g+ObuL3x+JWXeOatn2nLX4yj8wk8qEVLr/+b7Q63uXK7XGGn7om6alGNrfxpZ8XAnd+R uE4wLzUh6YmA8s9k8iRuyOcow55zdV9rDrI11nYTPYspQU7Q7009k5iAxDHtTina+IIQW0 bcbkQPtOuACJgefHgXsnj5JXbtldZiPimqdig2SSPnkeCX8lRMpV/eXwwQra8pldQQ1Nz4 ux0trMkWQX5+yZ0R17gxecIdLpV5vN+xcezyYoZmdQjVZJd9oZfkHMQv4FHBeQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hQ9pB5BGMzdg8 for ; Wed, 19 Aug 2026 15:43:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37f23 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 19 Aug 2026 15:43:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 3e42109d8467 - main - LinuxKPI: 802.11: deal with wdev list, and misc List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list 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: 3e42109d846766248b7d0d0b077543ffc1a9db22 Auto-Submitted: auto-generated Date: Wed, 19 Aug 2026 15:43:30 +0000 Message-Id: <6a85cf22.37f23.645fa6cf@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3e42109d846766248b7d0d0b077543ffc1a9db22 commit 3e42109d846766248b7d0d0b077543ffc1a9db22 Author: Bjoern A. Zeeb AuthorDate: 2026-08-12 14:16:40 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-08-19 15:43:07 +0000 LinuxKPI: 802.11: deal with wdev list, and misc Fill in more (lvif) wdev details and add it to the list under the wiphy struct so that iterators at least work and find the (one) device. This is needed for the upcoming espwl(4) driver. misc: add WPI-SMS4 to the list of cipher suits (we won't support it but at least print the name). MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 29 +++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index bf2054c5efd8..a3e15c6e7223 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1,6 +1,6 @@ /*- * Copyright (c) 2020-2026 The FreeBSD Foundation - * Copyright (c) 2020-2025 Bjoern A. Zeeb + * Copyright (c) 2020-2026 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from * the FreeBSD Foundation. @@ -1359,6 +1359,8 @@ lkpi_cipher_suite_to_name(uint32_t wlan_cipher_suite) return ("BIP_GMAC_128"); case WLAN_CIPHER_SUITE_BIP_GMAC_256: return ("BIP_GMAC_256"); + case WLAN_CIPHER_SUITE_SMS4: + return ("WPI-SMS4"); default: return ("??"); } @@ -1392,7 +1394,7 @@ lkpi_l80211_to_net80211_cyphers(struct ieee80211com *ic, case WLAN_CIPHER_SUITE_BIP_GMAC_256: return (IEEE80211_CRYPTO_BIP_GMAC_256); default: - ic_printf(ic, "%s: unknown WLAN Cipher Suite %#08x | %u (%s)\n", + ic_printf(ic, "%s: unknown/unsupported WLAN Cipher Suite %#08x | %u (%s)\n", __func__, wlan_cipher_suite >> 8, wlan_cipher_suite & 0xff, lkpi_cipher_suite_to_name(wlan_cipher_suite)); @@ -4355,9 +4357,18 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], vif->p2p = false; vif->probe_req_reg = false; vif->type = lkpi_opmode_to_vif_type(opmode); + lvif->wdev.wiphy = hw->wiphy; lvif->wdev.iftype = vif->type; + wiphy_lock(hw->wiphy); + list_add_rcu(&lvif->wdev.list, &hw->wiphy->wdev_list); + wiphy_unlock(hw->wiphy); + memcpy(lvif->wdev.address, mac, IEEE80211_ADDR_LEN); +#if 0 /* Need to fill in other fields as well. */ - IMPROVE(); + struct net_device *netdev; /* When do we create this? */ + uint32_t radio_mask; +#endif + IMPROVE("wdev"); /* Create a chanctx to be used later. */ IMPROVE("lkpi_alloc_lchanctx reserved as many as can be"); @@ -4597,6 +4608,10 @@ lkpi_ic_vap_delete(struct ieee80211vap *vap) TAILQ_REMOVE(&lhw->lvif_head, lvif, lvif_entry); LKPI_80211_LHW_LVIF_UNLOCK(lhw); + wiphy_lock(hw->wiphy); + list_del_rcu(&lvif->wdev.list); + wiphy_unlock(hw->wiphy); + ieee80211_ratectl_deinit(vap); ieee80211_vap_detach(vap); @@ -5087,12 +5102,14 @@ lkpi_ic_scan_start(struct ieee80211com *ic) common_ie_len, hw->wiphy->max_scan_ie_len); } + lvif = VAP_TO_LVIF(vap); + hw_req = malloc(sizeof(*hw_req) + ssids_len + s6ghzlen + chan_len + lhw->supbands * lhw->scan_ie_len + common_ie_len, M_LKPI80211, M_WAITOK | M_ZERO); hw_req->req.flags = 0; /* XXX ??? */ - /* hw_req->req.wdev */ + hw_req->req.wdev = &lvif->wdev; hw_req->req.wiphy = hw->wiphy; hw_req->req.no_cck = false; /* XXX */ @@ -5218,7 +5235,6 @@ lkpi_ic_scan_start(struct ieee80211com *ic) hw_req->req.ie_len = ieend - ie; hw_req->req.scan_start = jiffies; - lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); LKPI_80211_LHW_SCAN_LOCK(lhw); @@ -8099,6 +8115,8 @@ lkpi_convert_rx_status(struct ieee80211_hw *hw, struct lkpi_sta *lsta, rx_stats->r_flags |= (IEEE80211_R_C_NF | IEEE80211_R_C_RSSI); } + /* rx_status->antenna */ + /* XXX-NET80211 We are not going to populate c_phytype! */ switch (rx_status->encoding) { @@ -8719,6 +8737,7 @@ linuxkpi_wiphy_new(const struct cfg80211_ops *ops, size_t priv_len) wiphy = LWIPHY_TO_WIPHY(lwiphy); + INIT_LIST_HEAD(&wiphy->wdev_list); mutex_init(&wiphy->mtx); TODO();