From nobody Sat Aug 8 00:38:31 2026 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 4hH2F34kPrz6mYkV for ; Sat, 08 Aug 2026 00:38: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 "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hH2F32tgdz3mkK for ; Sat, 08 Aug 2026 00:38:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786149511; 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=fEXViyEoTBbQdZ/JTKfn9FTMj9Fzi1OJvzbQrSi1ovs=; b=na8J/Ae4Mkh04E+/4WvsY9XDeYEiFWblTtbFJtziLqporfxZUkvXZ4oQ3i2aRrIRNHj7UN o6rMF/Zn2kqAowj+4MAqIvnvmbhBBbvNpplt7hwWyJk7JrNJao6XrGzl2kcrKldWJDiSkZ 3tpqbq3nGeEjKKpTt7G9tKrvaulKmwLueqsDWh4K+nbr3YSqbKqtEvw3zl2df+WOoGOA9e GHgEwUVu47kY455hz8XHil6tWT3laWLK+nLn+BvozcohA0oyGT0HpvDf2xVmwOvqWMNGOd ntV5zT+F2iQ789unEojTBZBQN/i0e6D3kGVxxqWCARIIwt1mFEpzTZxt5GWhYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786149511; a=rsa-sha256; cv=none; b=fnuFsdFp8LtmUP7hsc4o6R0cU1muRNtSLIbdRdcYLElFp7rS0nj8A3aYwplNOUXykrJobH BIUCAsvTZCXdtAE+ORgJbkJbz2AXlTBWXlgkOFdwIoW5YhGvDwYf713vCXsbsXoy5oKBtE 7Ez78z8xlJnD1OxMSlotM0562lXpAD1KhHbRAj25YS2IaWu2Hx/WQMGdn+/wxlsGG5n37k RKH7LSANbvj8h7DYk3TBnDFx+uW4bQcc1ma/1J6rneNdDffCbugP3Kiyy24REobRxns858 rI4kn39mUXd31vgIuPK9DlJpySTmpHIdipjYSMNp9C5l4TcJwEMGKvrqCepD1g== 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=1786149511; 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=fEXViyEoTBbQdZ/JTKfn9FTMj9Fzi1OJvzbQrSi1ovs=; b=JMYm/qkfhJeVfqNQreU942X0CbnMLlYWwEHlHX/DDSh3OeHwOsbInfUiY6dzO9ngI64MBb 7UZISdI8HU22wAiyhoCGxq144IdIlL8aSacUBzYlmp0MThFVw2II/mQO8aMdhoyOpEHo6b yGGFUVlXkKSmej2A0FU1uvaEMbapX7yFQFmnbgMV7nKIpHMbq+/WsfTqNrbsUnNBueFr8d HBDmV2oA3KxQ94x64zBQlxO9LDpNVoPhxdoTkjIQ0kcTZM66wuq+/g6Mrt/gXoRuEtGlg1 YBZx0qBtDsvJx5ZLRYqtmhVpUPuisCoqRPAC7cMhAjfOe4z2P0UD1mXhvEvgAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hH2F31yxHzkQ for ; Sat, 08 Aug 2026 00:38:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ed87 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 08 Aug 2026 00:38:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: c38cbf6be189 - stable/15 - ixgbe: clear VF head write-back state on reset 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 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: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c38cbf6be189bf0db87e3a92832ebe7248c5ee2f Auto-Submitted: auto-generated Date: Sat, 08 Aug 2026 00:38:31 +0000 Message-Id: <6a767a87.3ed87.adf93e3@gitrepo.freebsd.org> The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=c38cbf6be189bf0db87e3a92832ebe7248c5ee2f commit c38cbf6be189bf0db87e3a92832ebe7248c5ee2f Author: Kevin Bowling AuthorDate: 2026-07-28 11:26:28 +0000 Commit: Kevin Bowling CommitDate: 2026-08-08 00:37:23 +0000 ixgbe: clear VF head write-back state on reset VF reset and FLR do not clear the transmit head write-back address registers. A previous VF driver can therefore leave DMA write-back enabled with a stale address for the next driver instance. After consuming the reset request and disabling the VF queues, clear the address registers for each queue belonging to that VF. Derive the queue count from the active IOV mode so peer queue state is not touched. Linux commit dbf231af81a7 documents the hardware behavior. The FreeBSD implementation follows the local queue mapping and register interfaces. (cherry picked from commit 6f940ca879cbf691ddf5605d852770cef27847b2) --- sys/dev/ixgbe/if_sriov.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sys/dev/ixgbe/if_sriov.c b/sys/dev/ixgbe/if_sriov.c index 8d4e20fcf8bf..b9e5205cf1b9 100644 --- a/sys/dev/ixgbe/if_sriov.c +++ b/sys/dev/ixgbe/if_sriov.c @@ -353,6 +353,7 @@ ixgbe_vf_reset_msg(struct ixgbe_softc *sc, struct ixgbe_vf *vf, uint32_t *msg) struct ixgbe_hw *hw; uint32_t ack; uint32_t resp[IXGBE_VF_PERMADDR_MSG_LEN]; + int i, queue_count; hw = &sc->hw; @@ -363,6 +364,18 @@ ixgbe_vf_reset_msg(struct ixgbe_softc *sc, struct ixgbe_vf *vf, uint32_t *msg) */ ixgbe_clear_mbx(hw, vf->pool); + /* + * VF reset does not clear the transmit head write-back addresses. + * The queues were disabled by ixgbe_process_vf_reset(). + */ + queue_count = ixgbe_vf_queues(sc->iov_mode); + for (i = 0; i < queue_count; i++) { + IXGBE_WRITE_REG(hw, + IXGBE_PVFTDWBAHn(queue_count, vf->pool, i), 0); + IXGBE_WRITE_REG(hw, + IXGBE_PVFTDWBALn(queue_count, vf->pool, i), 0); + } + if (ixgbe_validate_mac_addr(vf->ether_addr) == 0) { ixgbe_set_rar(&sc->hw, vf->rar_index, vf->ether_addr, vf->pool, true);