From nobody Fri Jun 14 18:43:03 2024 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 4W17Sl1tz1z5PK57; Fri, 14 Jun 2024 18:43:03 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4W17Sl1HYMz4GD5; Fri, 14 Jun 2024 18:43:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1718390583; 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=XnO0hOPl+Ge3td10xH0NUS7HYVzH4ewrsMc/dGfvfRQ=; b=ht0VCWUkH1PpTqWU5QT/52Axj0wcNTnOpwafwdgGR05xS1eIIYRg9TSnBJN6Q9RX4DnJHA yu2TV6+U77fNFgWXLUxa10FOuwXgBNS9ehpL7U5BWEZBBml9zFObhDA0KnHGA7omoYx9ay JTT7eSVcbR/3BkVK7EScJEZOIszuoajlc9+bhlhhx10gW0DwA6bMoWgWqExBfBsHiQjaV+ jHwdX3IMg1YtjOPTTkzRmGFtfYK+Qnc4pINJW4tiBrG/3TUMU0y2tij2s0iT8Po8p8Kmzo 494AR1yEzfNb1oJ4akTyDus/N5cPvdLWrq24hA9ABnyt9eDFml5o+Bs7jkx9dg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1718390583; a=rsa-sha256; cv=none; b=LYxxv5AzgdatEeWcWuNkZDsKgw1PiXrG5v4Dn5VXHl2iixdDSb/FuVcAUcp5pG1pctNVXw L0EWvU0X6Dd6o//y5UeL6HSbP0dlmgPvXINy2164fw4MaECaA9p/s4D/gmzsO33dvxSbQI TmheBz6ieBvUUeXNaTFILp8qgi5nxbiF2QYUg2RADNhq4GWSQqlzx7Kzl9/s9aQxpS7WxL Tl2R377CUX4W6pjfyYRmkXdpawpObzZXr/Z/Kssiy56DL3VPKb+GrqWecwq/Xio2DnaA32 ZsyXSx0qwahsI9nwrML2Fw7BvWFEobcn3jfefOG4mrBSX5H7dh84/vh7p2ohSA== 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=1718390583; 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=XnO0hOPl+Ge3td10xH0NUS7HYVzH4ewrsMc/dGfvfRQ=; b=TK/57V21hJozbCAXReBecUkeZX0AX4vkcKJXe5Xbom4CtF/NCOV+6T3tF0jR36GVAGPhwY wMPEIE7k4Iyr3uzDN0q91cmevAcscChjicxv7OanEGCjHCmeFkyvnvLAI0Pw82mcqf/9xM x4aI2tXMMucuZBSGlwpFUAHbeSCT5z3BnmAd/nVnfad0I2rkNHvIitTnPxH6YA62KxtGu4 WZp6/s0ceYNUzCKgE2oQ+xBrjmPSOTdUvFkv99DMNCwnzeljPUVe68zFjuz9qGAQyXXDi9 VbnAjXDvMrrqGLJECiDnvCPzEiUlK04yNr/wghfAVJ02ULMqBhFPhKolyjcL6g== 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 4W17Sl0vM1zXn2; Fri, 14 Jun 2024 18:43:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 45EIh3bJ020483; Fri, 14 Jun 2024 18:43:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 45EIh3SH020480; Fri, 14 Jun 2024 18:43:03 GMT (envelope-from git) Date: Fri, 14 Jun 2024 18:43:03 GMT Message-Id: <202406141843.45EIh3SH020480@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: 24cb6fe1589e - stable/13 - LinuxKPI: 802.11: remove unneeded re-lookup in lkpi_80211_txq_tx_one() 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: 24cb6fe1589e6f74d36792845c9e4fb7eb556aea Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=24cb6fe1589e6f74d36792845c9e4fb7eb556aea commit 24cb6fe1589e6f74d36792845c9e4fb7eb556aea Author: Bjoern A. Zeeb AuthorDate: 2024-02-18 18:07:00 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-06-14 14:55:16 +0000 LinuxKPI: 802.11: remove unneeded re-lookup in lkpi_80211_txq_tx_one() Given we are passed the lsta in as a function argument there is no need to re-lookup the sta by ni and possibly not find it. We know the sta and ni from the lsta and whether it is uploaded to firmware or not we can check directly from the local lsta flag. Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43965 (cherry picked from commit ac867c20e67423e5019ab90148c387ea127eeffb) --- sys/compat/linuxkpi/common/src/linux_80211.c | 76 +++++++++++++--------------- 1 file changed, 35 insertions(+), 41 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index ef4e22542b0f..1a5954de0250 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -142,8 +142,10 @@ const struct cfg80211_ops linuxkpi_mac80211cfgops = { */ }; +#if 0 static struct lkpi_sta *lkpi_find_lsta_by_ni(struct lkpi_vif *, struct ieee80211_node *); +#endif static void lkpi_80211_txq_task(void *, int); static void lkpi_80211_lhw_rxq_task(void *, int); static void lkpi_ieee80211_free_skb_mbuf(void *); @@ -3584,6 +3586,7 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) struct ieee80211_tx_info *info; struct ieee80211_sta *sta; struct ieee80211_hdr *hdr; + struct lkpi_txq *ltxq; void *buf; uint8_t ac, tid; @@ -3694,54 +3697,45 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) #endif #endif - lsta = lkpi_find_lsta_by_ni(lvif, ni); - if (lsta != NULL) { - sta = LSTA_TO_STA(lsta); + sta = LSTA_TO_STA(lsta); #ifdef LKPI_80211_HW_CRYPTO - info->control.hw_key = lsta->kc; + info->control.hw_key = lsta->kc; #endif - } else { - sta = NULL; - } IMPROVE(); - if (sta != NULL) { - struct lkpi_txq *ltxq; - - ltxq = NULL; - if (!ieee80211_is_data_present(hdr->frame_control)) { - if (vif->type == NL80211_IFTYPE_STATION && - lsta->added_to_drv && - sta->txq[IEEE80211_NUM_TIDS] != NULL) - ltxq = TXQ_TO_LTXQ(sta->txq[IEEE80211_NUM_TIDS]); - } else if (lsta->added_to_drv && - sta->txq[skb->priority] != NULL) { - ltxq = TXQ_TO_LTXQ(sta->txq[skb->priority]); - } - if (ltxq == NULL) - goto ops_tx; + ltxq = NULL; + if (!ieee80211_is_data_present(hdr->frame_control)) { + if (vif->type == NL80211_IFTYPE_STATION && + lsta->added_to_drv && + sta->txq[IEEE80211_NUM_TIDS] != NULL) + ltxq = TXQ_TO_LTXQ(sta->txq[IEEE80211_NUM_TIDS]); + } else if (lsta->added_to_drv && + sta->txq[skb->priority] != NULL) { + ltxq = TXQ_TO_LTXQ(sta->txq[skb->priority]); + } + if (ltxq == NULL) + goto ops_tx; - KASSERT(ltxq != NULL, ("%s: lsta %p sta %p m %p skb %p " - "ltxq %p != NULL\n", __func__, lsta, sta, m, skb, ltxq)); + KASSERT(ltxq != NULL, ("%s: lsta %p sta %p m %p skb %p " + "ltxq %p != NULL\n", __func__, lsta, sta, m, skb, ltxq)); - LKPI_80211_LTXQ_LOCK(ltxq); - skb_queue_tail(<xq->skbq, skb); + LKPI_80211_LTXQ_LOCK(ltxq); + skb_queue_tail(<xq->skbq, skb); #ifdef LINUXKPI_DEBUG_80211 - if (linuxkpi_debug_80211 & D80211_TRACE_TX) - printf("%s:%d mo_wake_tx_queue :: %d %u lsta %p sta %p " - "ni %p %6D skb %p lxtq %p { qlen %u, ac %d tid %u } " - "WAKE_TX_Q ac %d prio %u qmap %u\n", - __func__, __LINE__, - curthread->td_tid, (unsigned int)ticks, - lsta, sta, ni, ni->ni_macaddr, ":", skb, ltxq, - skb_queue_len(<xq->skbq), ltxq->txq.ac, - ltxq->txq.tid, ac, skb->priority, skb->qmap); + if (linuxkpi_debug_80211 & D80211_TRACE_TX) + printf("%s:%d mo_wake_tx_queue :: %d %u lsta %p sta %p " + "ni %p %6D skb %p lxtq %p { qlen %u, ac %d tid %u } " + "WAKE_TX_Q ac %d prio %u qmap %u\n", + __func__, __LINE__, + curthread->td_tid, (unsigned int)ticks, + lsta, sta, ni, ni->ni_macaddr, ":", skb, ltxq, + skb_queue_len(<xq->skbq), ltxq->txq.ac, + ltxq->txq.tid, ac, skb->priority, skb->qmap); #endif - LKPI_80211_LTXQ_UNLOCK(ltxq); - lkpi_80211_mo_wake_tx_queue(hw, <xq->txq); - return; - } + LKPI_80211_LTXQ_UNLOCK(ltxq); + lkpi_80211_mo_wake_tx_queue(hw, <xq->txq); + return; ops_tx: #ifdef LINUXKPI_DEBUG_80211 @@ -3753,9 +3747,7 @@ ops_tx: #endif memset(&control, 0, sizeof(control)); control.sta = sta; - lkpi_80211_mo_tx(hw, &control, skb); - return; } static void @@ -5226,6 +5218,7 @@ linuxkpi_ieee80211_frequency_to_channel(uint32_t freq, uint32_t flags __unused) return (ieee80211_mhz2ieee(freq, 0)); } +#if 0 static struct lkpi_sta * lkpi_find_lsta_by_ni(struct lkpi_vif *lvif, struct ieee80211_node *ni) { @@ -5242,6 +5235,7 @@ lkpi_find_lsta_by_ni(struct lkpi_vif *lvif, struct ieee80211_node *ni) return (NULL); } +#endif struct ieee80211_sta * linuxkpi_ieee80211_find_sta(struct ieee80211_vif *vif, const u8 *peer)