From nobody Sat Aug 8 00:44:17 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 4hH2Mk6dQgz6mZG2 for ; Sat, 08 Aug 2026 00:44:18 +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 4hH2Mk0Hkjz3wqD for ; Sat, 08 Aug 2026 00:44:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786149858; 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=AHBF16g4p5mlLHAd+XkVZLKRixf8AEncEUhnPcd/HmM=; b=nFzGX2Tc+MYBjq8LDMWhzAbXQ8whYQVcEmzO7SWquCdplNIGO5QY/e1B8gIKMV9G9aSll9 oq4aG9ZazY+HZNqbXMabgHGg5S2UFhXv1BdNftte1jpYhfqHeRjZmV6As46TnrKdRJVk/C 5dIdjR1HHgR1aHUgbeVpfzC/Ws0sms+QXiTrKXzntvwkmzpAekQ5OA+sf0NurR9P5JGI7G z2ZGwvlYzkESVe5hiIvHP8bB7u0ZctvMiw6gkdc1yqAZtTLmjlW1LD7lT+4yWvWuEPzLzV 7bHigwKv03p52359K5rDikDXUxJ97XNHY1HSbYm0r5Wez94xmjd2k+oG3yW2fg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786149858; a=rsa-sha256; cv=none; b=hBsPiUmRAj/lPYVUUtxeTAADIyYIeyyxjPCiuOTL1okCP9K5lWEYqWeaGW+X1c/g7ifuub O/jUhmldNKyaT+MNIL4IAQ3mT5/K7JOFtlKsx6UPV4PWGuljaFyeEtkvOxIy9odbQE9TUk RmQJw9+p1VGIgVv3vWJ0pQ48fMsjvbGHTRZgMfyvu99KGrs8jAmKivYae8GwLSe7Sli46N jSr4g5/0hWh4vuLLltIHiKzBmKiXJeqQ0aAVRgweMxlM9OCCn6Gemghpy+6IRcGJTLtAh4 rFhUDaO0/bZCHfIa4udIjKRuYnJNJHZzJx8OrQrXtTlEGlpyfF6FzQK1RWBmcg== 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=1786149858; 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=AHBF16g4p5mlLHAd+XkVZLKRixf8AEncEUhnPcd/HmM=; b=KXA+BtDK6Kq0PRdwP/8Zzjjd/jfmvqyt1CHY3o0qgAzCEcPylXTo9n9WD/FkW85Kmke/F8 eyonuVkrMnkkmBl+hdfrwVy9vCkOrAAOLocb4FzgW00hjuNilFDay7W0Xq3zOqfhfuioVR kVm8A51SQyNG6cqtS+IvwEp+QUdAcpfwIoxPmFgJAgSWiw+RMAmX3gUCgLBmEgQtN1qpFo cP9X/wihqx5gGiVWkzUt+gbedLxRwYEOHlVzpHkfKE4IUfdQLNpOTaylpLsFz5MOFKN7oW fSXu8ZE9fqaxCa2pn4lOA9Q/5yZBMQLyQKASwd+Ei46SN2UzWB62uDYHVXNEoQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hH2Mj5lwYzwR for ; Sat, 08 Aug 2026 00:44:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4048a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 08 Aug 2026 00:44:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 94d7960ab011 - stable/14 - 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/14 X-Git-Reftype: branch X-Git-Commit: 94d7960ab011e34b2c36c0d45973751f2e5b0ccb Auto-Submitted: auto-generated Date: Sat, 08 Aug 2026 00:44:17 +0000 Message-Id: <6a767be1.4048a.71f3f26e@gitrepo.freebsd.org> The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=94d7960ab011e34b2c36c0d45973751f2e5b0ccb commit 94d7960ab011e34b2c36c0d45973751f2e5b0ccb Author: Kevin Bowling AuthorDate: 2026-07-28 11:26:28 +0000 Commit: Kevin Bowling CommitDate: 2026-08-08 00:43:22 +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);