From nobody Wed Jun 12 16:41:25 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 4VzrsK40h2z5N3Db; Wed, 12 Jun 2024 16:41:25 +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 4VzrsK2cjlz4gqq; Wed, 12 Jun 2024 16:41:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1718210485; 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=EfzOPFDLtvkXYJEEo1lb1zronH4rEt4+YrJq2ICUpcg=; b=DLz7Kgu6OuEP5qOjOBj189jcs1BfJy2uFDaEOy6jWw9fFOCE3JF1XZyZ0yneYVQqCcUpEu mdMeg2HglabGWNeQCbaMdu8XNNh55gIPxEDKmuJv9bDOU1tLA+sj110/x5Gik71R6ENFCH KkDv0kl2X3MRtwsDz1s+TrvPcYHiZYPgPCUVLzWO4KVg4G5R6qtJ+2M4d36cTXXTnYWKz6 vnaQ1FEJtc/GpOoravaYLb5ebkmSMFEpp61Ld1OUTR6DobnCA3EWgStuAyRGHzpmJyQGN9 /ZDY51oDLP6jhZzkYAOD3+7SDQP2siXelt+RDwXCJTNNckfhXQshUgal8QE8/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1718210485; a=rsa-sha256; cv=none; b=SkN/VbSvHl4kGbX2qoryhMzZVKyfzZJu2jjgltrRX5Mhce/nV8Lc/pHOwWV9G+6OS3/b0u gDIJEoD3hyvGoQgVQVQVe1k5UMxzUA35lsey9W6MoGovNusqyHNZWuO0U8F0On7IStvT3O sdO6MSe80UpiepD9KQHQ8G6dP0XmsWgVxww5HReGl7FThMruKe9DbVs148JfNNP88uawyu X3j8OKuZK9mzMGprON/45uCKvgcJuNxhmEiGKjZygcRV6FQWGIjrfZ8LncIL9zOKsESjpK +RwJYrl4qH0Hjyr0o5pXZmBFm3bqmdXnRlOLV0QIbqTD5vUL6jOOZMSOjxbsgA== 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=1718210485; 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=EfzOPFDLtvkXYJEEo1lb1zronH4rEt4+YrJq2ICUpcg=; b=te8UPZoJVKkmdth3O2ykl9jslKTDUMa0V1G1J9rZRF+O4m35LbEhlZsrfeWexH/BAJv5Sa taZLyESuuN8HxgdijlzP3H7f+KPWqznWEI5NomWhHeZUlZYFC7G0ReZHiTSqZwnXabY9FF Fzz0urqUko2/fqH/wnuGCu/VXh/IMo3iZJX/4uG9qoSg2HZstsK8lFjW9iXYlnFootw5hl FNjXGDyNKpepVCRfpSkp7DqBI+kNpiyy4GOVQ7s+mQkcoHybkJetxFiPuiZqbn7ExXLEvi EhAEv09eshHFdHj77b+hD/ew5RRGu7KYJdS5Eb9fVc5+UrWVjWX4KgDoylfR5g== 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 4VzrsK2Dg3z10nY; Wed, 12 Jun 2024 16:41:25 +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 45CGfPxu046794; Wed, 12 Jun 2024 16:41:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 45CGfPqw046791; Wed, 12 Jun 2024 16:41:25 GMT (envelope-from git) Date: Wed, 12 Jun 2024 16:41:25 GMT Message-Id: <202406121641.45CGfPqw046791@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: 49f29c4183d9 - stable/14 - LinuxKPI: 802.11: lock MO tx/wake_tx_queue() downcalls 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/14 X-Git-Reftype: branch X-Git-Commit: 49f29c4183d93afd2724509362daaf41b16eca5d Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=49f29c4183d93afd2724509362daaf41b16eca5d commit 49f29c4183d93afd2724509362daaf41b16eca5d Author: Bjoern A. Zeeb AuthorDate: 2024-02-18 21:07:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-06-12 13:59:04 +0000 LinuxKPI: 802.11: lock MO tx/wake_tx_queue() downcalls Lock the two TX MO downcalls into driver/firmware in lkpi_80211_txq_tx_one() to make sure they cannot happen in the middle of other (net80211 triggered) updates calling down into the driver/firmware. Sponsored by: The FreeBSD Foundation (commit) Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43966 (cherry picked from commit 45bce6fa306fc3a211949f63c9bbb7932fe5a3bd) --- sys/compat/linuxkpi/common/src/linux_80211.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 1943c6efd4d8..ecacb74f01f3 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -3770,7 +3770,9 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) ltxq->txq.tid, ac, skb->priority, skb->qmap); #endif LKPI_80211_LTXQ_UNLOCK(ltxq); + LKPI_80211_LHW_LOCK(lhw); lkpi_80211_mo_wake_tx_queue(hw, <xq->txq); + LKPI_80211_LHW_UNLOCK(lhw); return; ops_tx: @@ -3783,7 +3785,9 @@ ops_tx: #endif memset(&control, 0, sizeof(control)); control.sta = sta; + LKPI_80211_LHW_LOCK(lhw); lkpi_80211_mo_tx(hw, &control, skb); + LKPI_80211_LHW_UNLOCK(lhw); } static void