From nobody Mon Aug 10 00:33:19 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 4hJG2F0gM9z6pLw5 for ; Mon, 10 Aug 2026 00:33:25 +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 4hJG2D5lqfz3mWL for ; Mon, 10 Aug 2026 00:33:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786322004; 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=V9kgSG2aHaRu32ALUjaQFaDXkcde0NpV5Qfm9crsxp0=; b=tqueKrCDWuLujAaEdDIZuedw0OEL0PoVCxBCo2VKcVGSrLuvdrlMgyzHu4YCI4959oRy6/ bvuTBkv1hoUXaERmumxP5UZojBIRrmEcnJe0Q79TJulowPqQ2MO6sDzZujeb5KACsZ9NYb Hq49H2c7ccVTue4ZvncTU7VzM+v++5kkzd59Pf6x58ZMED2JJ5W/m8/4M+gIvI8o7jjSS/ ZNuQhJGpE6VJD1/o7dnCJsHoXcbqlLgmReShVh9F/mLbsZ2p9n/KijNWWIczCiYVTb/Y7y w/stCvyKV5uz2F+l6hHHNcE3jD/yBL8dcBSLj+y0lX6zCigdii+/gfTFVlp0FQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786322004; a=rsa-sha256; cv=none; b=SBncZiHwqKwrKy/G0kiRulePjZ3XYBgjUFHKb7orON/R6b3z6YzuVPoRPsUhkY/JQ8T3eB QJai0w1BZ8kLK6WStADWsO7vnaBGswlXf4sv6y9VUYcmNGSN57cQINsfO2GEcNGAyN0MbB 6sJU8/NIJyv/4m6dVTOnklZaK8eHX0CYO+60VOJhcpPKg/aammEzVSnFnx+5EDXZD/+KwB H/ZFSmpsSXi+b1WltIIR5BESOu1mklhDUbVdFm9d/Ey3LNwttK3uDZK7xgfPJWMsWgqEIR Fqiuhn9CQA1BvSAAvaCaJ55Mv/Q/sP+orlGaWfP4PHqMY84EjSXrEIQ1sMyZ/A== 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=1786322004; 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=V9kgSG2aHaRu32ALUjaQFaDXkcde0NpV5Qfm9crsxp0=; b=RTrwcXu8rabQDEfT/IAJbgLrc9XaYKKcnWIQynyjFd+f75LGDzfyNokiCnlm0nBcrzpY2Y kOMojMdIWybs1HokEAYE9X3ARf9WLPjilb9UFMGe4/jbJVhJVJzybvNMZofRhnnJ7GS25P 7SBr/p2ETETNaKUDfqdCmtNW8kc3DbA5chjLP7Mg6AoFavUBrWdjvDSoOF88e3pI3n5cyU TI39oV2ZyJ+/KBeYJEY2L6IXfSeZO3K5oKQc/RgTRnvmJPbg3/8vDp7eTJyP2DPc7AtCw8 HlvRqyNIlC8oIqOgbkrMy1caKIuZwTIXBHsvOlZADev11ElVo0xn+xIln6Ieyg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hJG2D4lm3zn9h for ; Mon, 10 Aug 2026 00:33:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4208a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 10 Aug 2026 00:33:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: dcdc00a41d3e - main - ice: Report 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: dcdc00a41d3e4be0e75eb625cd3a23d5a927ed15 Auto-Submitted: auto-generated Date: Mon, 10 Aug 2026 00:33:19 +0000 Message-Id: <6a791c4f.4208a.3c71d9c0@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=dcdc00a41d3e4be0e75eb625cd3a23d5a927ed15 commit dcdc00a41d3e4be0e75eb625cd3a23d5a927ed15 Author: Kevin Bowling AuthorDate: 2026-08-09 09:38:21 +0000 Commit: Kevin Bowling CommitDate: 2026-08-10 00:33:10 +0000 ice: Report initialization failures to iflib The primary and mirror-VSI ifdi_init callbacks can return early when reset state or hardware queue and filter setup prevents initialization. Iflib then marks the interface running and enables interrupts although the driver did not finish bringing it up. Report each non-detach failure through iflib_init_failed(). Keep the existing ice reset and subinterface-reinitialization machinery responsible for scheduling recovery. MFC after: 2 weeks --- sys/dev/ice/if_ice_iflib.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/sys/dev/ice/if_ice_iflib.c b/sys/dev/ice/if_ice_iflib.c index 6ea539d52e02..2722b8892d61 100644 --- a/sys/dev/ice/if_ice_iflib.c +++ b/sys/dev/ice/if_ice_iflib.c @@ -2084,16 +2084,16 @@ ice_if_init(if_ctx_t ctx) return; if (ice_test_state(&sc->state, ICE_STATE_RECOVERY_MODE)) - return; + goto err_init_failed; if (ice_test_state(&sc->state, ICE_STATE_RESET_FAILED)) { device_printf(sc->dev, "request to start interface cannot be completed as the device failed to reset\n"); - return; + goto err_init_failed; } if (ice_test_state(&sc->state, ICE_STATE_PREPARED_FOR_RESET)) { device_printf(sc->dev, "request to start interface while device is prepared for impending reset\n"); - return; + goto err_init_failed; } ice_update_rx_mbuf_sz(sc); @@ -2104,7 +2104,7 @@ ice_if_init(if_ctx_t ctx) device_printf(dev, "LAA address change failed, err %s\n", ice_err_str(err)); - return; + goto err_init_failed; } /* Initialize software Tx tracking values */ @@ -2115,7 +2115,7 @@ ice_if_init(if_ctx_t ctx) device_printf(dev, "Unable to configure the main VSI for Tx: %s\n", ice_err_str(err)); - return; + goto err_init_failed; } err = ice_cfg_vsi_for_rx(&sc->pf_vsi); @@ -2172,6 +2172,8 @@ err_stop_rx: ice_control_all_rx_queues(&sc->pf_vsi, false); err_cleanup_tx: ice_vsi_disable_tx(&sc->pf_vsi); +err_init_failed: + iflib_init_failed(ctx); } /** @@ -4406,20 +4408,20 @@ ice_subif_if_init(if_ctx_t ctx) return; if (ice_test_state(&sc->state, ICE_STATE_RECOVERY_MODE)) - return; + goto err_init_failed; if (ice_test_state(&sc->state, ICE_STATE_RESET_FAILED)) { device_printf(dev, "request to start interface cannot be completed as the parent device %s failed to reset\n", device_get_nameunit(sc->dev)); - return; + goto err_init_failed; } if (ice_test_state(&sc->state, ICE_STATE_PREPARED_FOR_RESET)) { device_printf(dev, "request to start interface cannot be completed while parent device %s is prepared for impending reset\n", device_get_nameunit(sc->dev)); - return; + goto err_init_failed; } /* XXX: Equiv to ice_update_rx_mbuf_sz */ @@ -4433,7 +4435,7 @@ ice_subif_if_init(if_ctx_t ctx) device_printf(dev, "Unable to configure subif VSI for Tx: %s\n", ice_err_str(err)); - return; + goto err_init_failed; } err = ice_cfg_vsi_for_rx(vsi); @@ -4460,6 +4462,8 @@ ice_subif_if_init(if_ctx_t ctx) err_cleanup_tx: ice_vsi_disable_tx(vsi); +err_init_failed: + iflib_init_failed(ctx); } /**