From nobody Mon Aug 10 00:33:19 2026 X-Original-To: dev-commits-src-main@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 4hJG275TKjz6pMKv for ; Mon, 10 Aug 2026 00:33:19 +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 4hJG274Qzgz3mGq for ; Mon, 10 Aug 2026 00:33:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786321999; 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=gmkSsh2N6Kb2uv/4IuPFGSdONAuJhnvB11f8m0k753fGbUvX84nWKnV4RPUqnsdxIownMM SC1zNoU+dl2gaYPmd6rdITuSPnvwoxfAgVyeCBvtA+4WhxjkCLZr2b6AJp29gtT2957FLE 9c8lC9t1ZsTHNrtNLoEXX3lt1ku1HJZiYmZl5bEx4u1zpUR6YkUJorIAuWH3zLS7wm4jxG bd1DUsFHhM4SqSjJ31+7e58Ug2pPmlOAnRbjWsxJ8XeHjuuxDcvZH8qI1hmZUzTz52puvf /5JOLhD2uQ6U7tw7zzf8vGXjpX7JSxUAxjUx8UyBpG9SZtPnDlYPreWlS4Oveg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786321999; a=rsa-sha256; cv=none; b=Ifpmc/cpcP9og0Yl5qGqKlM6PyxA25joYUbNQBAvzjqN4rUFhZDuZMKAgcC8sYrevpTRRc KD0HCsGdH8F//BvipKlyYO78mLaX5Z6f6NNkPWorsrpn+prA7UsYExxhk61hi6V0b1XmF5 3D3/Cz1nQlZqSIGUGzBto52ffWZ29mIaAfolA15/2X3nYNelh9jB4D2zjqUPVM/F779thW stksmQa5YDvGrMOv4CIUl6mXzjngVbwSoPCfUEHu6D/aw3kkhFtRmFfgfsPCWicafCMMOu FKhGM4f0WD5Y98f2SzAIER3z0WdyxfqLYG/KTcbnkBF88qxzrUjM4u/6J5xSVg== 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=1786321999; 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=h2iUbEKLDlaxdmPCxhOmNCRBiByJASly3PdrZ4iG5ZwWxkK8i44aJaWw6QAk6ZHwJ3cVZu RnoZ3mo5iVUrAlBUiHt60Ridf3NhkQeqRNursY2YOLHnrZ8jeP/1fJG3NySEhjIbN6RfP6 6tiiZ+6cZmpLmINMtN9Nua5tEcAS7j/Znj+LOcx+p3dxNZiOAPHUzffrWqZXY+Cc9Qmp/6 ReJW8VKq2xq2x1bY3q2Yq9X1H5cW8SfzwFzqzrLZitcG0XuwN0ZgxQUZB1gorG7axTEIeB 3nNGLK3T+nU666+3KUpzulkInLgv5kqegkfImNsSgqxmjtkSYxu2e8p2NzL3Ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hJG273BDdzn7V for ; Mon, 10 Aug 2026 00:33:19 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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); } /**