From nobody Tue Aug 4 17:15:26 2026 X-Original-To: dev-commits-src-all@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 4hF0YB4RBWz6n5JV for ; Tue, 04 Aug 2026 17:15:26 +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 4hF0YB1L00z3sFg for ; Tue, 04 Aug 2026 17:15:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785863726; 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=7g3VNrtjs+vrbXa1xXqC0tQAgKABG8z7gWwjcQD4dQo=; b=s69s85eMM+v6LZJV9xpJxrXPseOJ/khTiIoSUZXZmidTtDBlVBu4cdNP28/PUCI4iU8q48 oXV7iHDh8yDg+wTrjeSLB99sQkOohUz+dJLHo9bvY301tkJRwZHxpBCFX9rcwkj3I3GPe3 C0wAUqCbnsRT8+R9PAvbWLKIo9eWMtXSTywG7HQGJoo8bwsya9JfmalfsBJHaOvidXxSxF pECsvijZNbZOEU/M0OrJ1gD5+ZnSh5yPTLkV1vqu73YXLuX5ISgoIIRE7uVKtoYt+VKXE3 /5GS2hJ7wCGjJ7bJQ01jnFnBK35vSo8bTH9/fBw5tUe++Xft9WeOp2Ys47I6wQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785863726; a=rsa-sha256; cv=none; b=PnvdixZq7hkavk6anyUb1im3rJO+MsbU0jlxCMFHspSro0jLgW7SRlMB9Zt+mO1So52eQx dKP3XZ6Antpy6rMQs/jy5y5EKlSxKcBaY2eIINQz8jvyPUanbynzcJNmLEEPdvD67vT2Js m+yK8Stg+1jZbPApYidxhJyIr3c4TfcUtzPgME2I6DT5i6CLsCdItF6aSyKO8APJs4YMe8 LkROah5AkZCewOnzckSlGD8CZ1P08yHZkPp35hgdlvoXyhOGwYOlzcOYhdkcIxOU9IBSNh S5J36dl7F/CzvK36dl02dU/0NoCGIszdFxR9oHWChshbAZwIB8163SqRoWXQDA== 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=1785863726; 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=7g3VNrtjs+vrbXa1xXqC0tQAgKABG8z7gWwjcQD4dQo=; b=J3dq0bmCwZ6z5Z+KR/noQYBUfQ5paPPopSMN2Jy1WjAjIt+oOxCjpOZieF8AaTGyqRPaLz Z8ZxXNVed2Cmh9bwP9pMdKXQQmHuvqeXudpZidSydMm0q2JNIqEudozGHyBZ2Ye+wOy/3/ S6pgxBDNa1Rp9L4ysiO0BclVn1oyRBTjQ7WogqJEYVDkMlbl1IJpkmfqDXa7FulAQMpOWR jlkUXtVzvqX9Fz/y22uKoq13Zb451+akU2+D4L+mC55KbAmpxAi6kZPyeUywuPr5qXlTcw R206ZzzP2ww9fqXoSWTj4TRYG4eI5xO5MeDDwqmATASHZYizzi/n34fVAtGSlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hF0YB07STzwC8 for ; Tue, 04 Aug 2026 17:15:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2286f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 04 Aug 2026 17:15:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Leidinger Subject: git: 65349af4422f - main - iflib: clear the deferred TX descriptor state when a queue is stopped List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: netchild X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 65349af4422ffffe40850168c5feb808d43ad06d Auto-Submitted: auto-generated Date: Tue, 04 Aug 2026 17:15:26 +0000 Message-Id: <6a721e2e.2286f.16affed0@gitrepo.freebsd.org> The branch main has been updated by netchild: URL: https://cgit.FreeBSD.org/src/commit/?id=65349af4422ffffe40850168c5feb808d43ad06d commit 65349af4422ffffe40850168c5feb808d43ad06d Author: Alexander Leidinger AuthorDate: 2026-08-04 16:44:54 +0000 Commit: Alexander Leidinger CommitDate: 2026-08-04 17:14:58 +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. MFC after: 1 week Assisted-by: Claude Code (Opus 5) --- sys/net/iflib.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/net/iflib.c b/sys/net/iflib.c index f865f2414281..63455fb46d70 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -2701,6 +2701,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