From nobody Fri Sep 25 05:13:12 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 4hrf3s0KHbz6snv8 for ; Fri, 25 Sep 2026 05:13:13 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hrf3r5sL6z3Nxq for ; Fri, 25 Sep 2026 05:13:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1790313192; 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=yJozACkCeR9vo2tw1VpaTzv+OCEKGP6pQiKP3tcVi3o=; b=q2EVpF8B5Kl+vppVFdjW9uEjpOV7iiKa6Stv5WMaREDUXD80rRyorRa0yMMTasQ9u5+jpb 7RWsCnpMKrFxX5C3XBKwOHpUp8MA/G8x2fOX4NzG+7lgH2HuJQNAyJky0Iamq806EXnI2N gFgYxjonMVTbC560+Zica9QGsjv7r8KyVTSWTWTRqFBioPVj5C3xeWhHkwO+DD5fS9a7ey KtQYCL3wXPYxmNak51fcF7l/briH+ZNetjC4tD+o2Jp5naq/ne+xWu6O973d39F0reAKRg MnnWBllr1UBH1DKoxpmsAtWakLrJYrhi3T93tj6VSnwM5ucWv7Kovd8leglIlw== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1790313192; b=NqUaXfOzWEOp/T4EhsrIjAUTTGcd+g4wowORofbmouk+xqirxcMYxYiyo78KwZB11tbO8y 3nuPTQoHITk7eP65kKNoWZgj7AmbQmEhc0khrAT+6sATzr6xgpEyfKDOsNIvX/eLtXQ7QS V9MIVuxGyB8/VqcQD+NHEZHQv7wc63neNgRKHPovn/+myCE5cxufynVkroOk7o4WcRB7Qs A4Xxj0ZxkVE0fzQNppNJuF72TWBlC85VoAJc673iN+hvf/rA12vzYRw52VIDV58Hv1HT22 jtfGtu3mIvh6L9LThZ2jLSiRgwAbeuHLeuvxe6qhB0ZXrPE2NM0xhydTt2qFZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1790313192; 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=yJozACkCeR9vo2tw1VpaTzv+OCEKGP6pQiKP3tcVi3o=; b=VH6c9bHKA/9Srtmq7CEGGal4gDJbf+8uPCJmTG04nJkAL91ipWOhn36y6fVaCaW3qdidDK tmH0uzn2A4q8/9fb7SlfTE4miVt3/rD4iCwlu0nLw2KggetbcnGPwKyyF6XRLv8OUYjj9a PdL60G7FRgnYrnIOZ/CE3BHrfHfLvvcSOE6M38omz2xeFsnM4W9DcKA3bEVDP7iOSh1AGH OD6EWI9zUd4nVaKbEtMjRpRCgofXJNxHJ35mc46t+chjzyzdlB/Her+OExnykpRsAEZsvw uRrH8dlg1YFWzaAzxNHCO9fGf4UCq+JURjMXDlV0fzujIAfudPlr/CWcQNrnQw== 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 4hrf3r4vr4zwkW for ; Fri, 25 Sep 2026 05:13:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2226e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 25 Sep 2026 05:13:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 050683bb8e13 - main - aq: Report partial initialization failures to iflib 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: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 050683bb8e136981e4a1f66e845ab05c135630f4 Auto-Submitted: auto-generated Date: Fri, 25 Sep 2026 05:13:12 +0000 Message-Id: <6ab602e8.2226e.48a595d8@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=050683bb8e136981e4a1f66e845ab05c135630f4 commit 050683bb8e136981e4a1f66e845ab05c135630f4 Author: Kevin Bowling AuthorDate: 2026-09-07 11:50:58 +0000 Commit: Kevin Bowling CommitDate: 2026-09-25 05:12:32 +0000 aq: Report partial initialization failures to iflib Stop initialization when hardware setup, ring initialization/start, or datapath start fails. Run the existing best-effort stop/cache/reset cleanup and report the failure through iflib_init_failed(). Do not keep configuring later rings or publish the interface as running. Reviewed by: nprice MFC after: 2 weeks Sponsored by: BBOX.io Differential Revision: https://reviews.freebsd.org/D59853 --- sys/dev/aq/aq_main.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/sys/dev/aq/aq_main.c b/sys/dev/aq/aq_main.c index 5aa162e096b0..c6396d6d9699 100644 --- a/sys/dev/aq/aq_main.c +++ b/sys/dev/aq/aq_main.c @@ -770,9 +770,7 @@ aq_if_init(if_ctx_t ctx) softc->scctx->isc_intr == IFLIB_INTR_MSIX); if (err != 0) { device_printf(softc->dev, "aq_hw_init: %d\n", err); - softc->init_failed = true; - AQ_DBG_EXIT(err); - return; + goto fail; } softc->init_failed = false; softc->init_retries = 0; @@ -787,11 +785,13 @@ aq_if_init(if_ctx_t ctx) if (err) { device_printf(softc->dev, "aq_ring_tx_init: %d\n", err); + goto fail; } err = aq_ring_tx_start(hw, ring); if (err != 0) { device_printf(softc->dev, "aq_ring_tx_start: %d\n", err); + goto fail; } } for (i = 0; i < softc->rx_rings_count; i++) { @@ -801,19 +801,23 @@ aq_if_init(if_ctx_t ctx) if (err) { device_printf(softc->dev, "aq_ring_rx_init: %d\n", err); + goto fail; } err = aq_ring_rx_start(hw, ring); if (err != 0) { device_printf(softc->dev, "aq_ring_rx_start: %d\n", err); + goto fail; } aq_if_rx_queue_intr_enable(ctx, i); } err = aq_hw_start(hw); - if (err != 0) + if (err != 0) { device_printf(softc->dev, "could not start the datapath: %d\n", err); + goto fail; + } aq_if_enable_intr(ctx); err = aq_hw_rss_hash_set(&softc->hw, softc->rss_key); if (err != 0) @@ -842,6 +846,13 @@ aq_if_init(if_ctx_t ctx) device_printf(softc->dev, "could not restore promiscuous mode\n"); AQ_DBG_EXIT(0); + return; + +fail: + aq_if_stop(ctx); + softc->init_failed = true; + iflib_init_failed(ctx); + AQ_DBG_EXIT(err); }