From nobody Thu Oct 29 06:03:09 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 4jFYYn66pwz6xrJ4 for ; Thu, 29 Oct 2026 06:03:09 +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) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4jFYYn1rC8z4sXd for ; Thu, 29 Oct 2026 06:03:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793253789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kOA5lu29UMnn5BwP2JLGZDmq4TqsrCbm/HTf+BGVOCc=; b=vW3ZhtTn3LgC4qe4ZgL1+j7OAi638Wcs1cQFAK6sQzTtup0LkUUCzSfCjjapi8PHurQIxp BqaXjC2GOa3m+5pBUdS5sjFj0yn/FVSBY6TpIWgdGX99Jbaqhl7esevUo54p0QSVLs8bhe yjJGpdH6+0WuumXlqoiEYdlfHeCDe3kYEUYlV5ZvZR+Dmr5rtzISHJhCtCrPwWPRL2KBu1 O3lePvYsQaM36qKArN6kFCcnrwS+HF4rAB2kmF3l9JkdtbMRWrDvjcZDdWs5PCe39m81Wr HA20ni/5AfmkfcpoOgnfjOoMRV9VI5K1DR4myV+v/efkI97cNX22GgIASYT8Mw== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793253789; b=NDRl+lUnLXeQXtWFpRIddOvo4DMCqVgZHE3+oh57NeQfCSMTYbHwOAqjeLxMv+Rxp1gC2k ycScsHBDUW5f89BwX+pqYEArtGOl9Dd8OV1e7I1BdLg5Nh4iszJgeUkHk4EvshAkTTeg9x c3gJubf0YIPANsMDG/jDnUCE9cqjFQjCgMoBkohHA0KlXqbyHt7LjPGYaqTkpB2P9n55zZ tbvvI5wJNoHBJ4w6IP2MOZsZvQy4WYMtSPC9d3HtI0BT98Px9MS+4pAlTOH7MG2jQvpNf0 IChKGfY2jY7S5ZNeb8dMes0M7qnB/Z4SMIoQRLTT5uuMyjAnKoXZgPsZ9FOnDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793253789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kOA5lu29UMnn5BwP2JLGZDmq4TqsrCbm/HTf+BGVOCc=; b=CQXJHwbCVcVUr3Br0notkKl1AlsstuR6ituLN3j8uUNOoxwFY4PYnQDY9jnOg/QKTpGy2Y dl0FBae9p7uzlsuctALedp4GnV8j3apm9Vt74N/+15INlj8Pg/hX6uqfzgZ2dUY53s+ciw KH4i+DFF8VQKZWArJqlMM6qG60TIasD5C4wrNHijfxPCPAzsYFqU0dmeZV2df7qCL+ziUM EhYP97p26zCCxARY1klGM4P7xxWjRQT5eG0HrgTUVt4LvputnNq8JFm0eBaWOeTFuMPGr8 xBPR4/HvHaqzpxh5luCKvPt+7yRcpkIF9Z3q9et25rXhejmpYG7veBcUiePDyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4jFYYn1VxgzQqB for ; Thu, 29 Oct 2026 06:03:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 393d2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Oct 2026 06:03:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alexander Leidinger From: Kevin Bowling Subject: git: 7b80eaa41130 - stable/15 - iflib: clear the deferred TX descriptor state when a queue is stopped List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: Commits to the stable branches of the FreeBSD src repository 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: 7b80eaa41130ba111fd8469dd2e0268c647496c8 Auto-Submitted: auto-generated Date: Thu, 29 Oct 2026 06:03:09 +0000 Message-Id: <6ae2e19d.393d2.5faba732@gitrepo.freebsd.org> The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=7b80eaa41130ba111fd8469dd2e0268c647496c8 commit 7b80eaa41130ba111fd8469dd2e0268c647496c8 Author: Alexander Leidinger AuthorDate: 2026-08-04 16:44:54 +0000 Commit: Kevin Bowling CommitDate: 2026-10-29 05:28:17 +0000 iflib: clear the deferred TX descriptor state when a queue is stopped Stopping an interface frees the queued mbufs and zeroes a transmit queue's descriptor accounting, but the three counters that track descriptors deferred to a later doorbell write or report-status request are not cleared there: they only reach zero when the code that acts on them runs. After a reset they therefore describe descriptors that no longer exist, until enough new traffic flushes them. The consequences are small - one doorbell written from a stale count, and a report-status request on the first packet after the reset - but the state is simply wrong, and the transmit-hang check in iflib_timer() reads one of them. Assisted-by: Claude Code (Opus 5) (cherry picked from commit 65349af4422ffffe40850168c5feb808d43ad06d) --- sys/net/iflib.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/net/iflib.c b/sys/net/iflib.c index 9e02cfa80325..05bec333e7c1 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -2827,6 +2827,8 @@ iflib_stop(if_ctx_t ctx) txq->ift_outstanding_prev = 0; txq->ift_wdog_armed = 0; txq->ift_in_use = txq->ift_gen = txq->ift_no_desc_avail = 0; + txq->ift_npending = txq->ift_db_pending = 0; + txq->ift_rs_pending = 0; if (sctx->isc_flags & IFLIB_PRESERVE_TX_INDICES) txq->ift_cidx = txq->ift_pidx; else