From nobody Wed Aug 26 01:07:10 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 4hV61p5vLPz6qLWS for ; Wed, 26 Aug 2026 01:07:10 +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 4hV61p4jzyz421c for ; Wed, 26 Aug 2026 01:07:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787706430; 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=bIrVqXqGzGWCS7WSKxUixDddssjV3QK4ocMJUkzVcXw=; b=mW/gR+JytWDRWVPb5vtU/O5CocnyLCG5yXfTApNI5rTKKnlm7wR0C4Y4RWN2Klin2xrpYE mBTFV1afBeuXsieH0XNozYxPGwM0zqvMwxkx8zWRstv4w3DhIuzKgXnZ4xca2ue7mUpzPt ogabtC85i7eXGsmZFxnN9HG1qZN0wVlbcxcWL2k6AIx1oakfaTJedkyMoS+RfCpuuQ86Mz occWUWBOgkzuEpiC/zOWUVcGlG8ahBp8rvukpxGZ/oPcf1nAmVikdVKsQWTbyqvYh4m6rq 3DYtqcU1dXmZAXTaHjngJBy+H4JCY00f5kwmKZU3DlBF017FK8sjjhTOO8nWNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787706430; a=rsa-sha256; cv=none; b=iz3FbrabSciwbBJ87PP9/Yy1W/yT0GBfR2i4pqv6Zo5Xr8f0pABk60RVYpA0DRss7nSlvx KNAoKgMqmThiUKDJ15y9bP/ReANityt4jhurW3S24DSuLx2OqecCKaZu6yHB4bpkj3IGSa 3TuUxt3H/qnKZTtD3bBcM4KFQYBM93Zj9wrmqLxveurdF2S/QTWGQ6+pgKgVtiKQCAkGET uWNjCHqMGAA3Zy0oe7ozpiQjLpSBepzJTbkBAm+d/kPE3eg5aeVEvliOFOjopaDblmSPqD dTDKU8sZVpTy/+Bycdbg61nDC7EPO4gs9v+2eXWIPfuoEE68SaB+XhSqcXUDiQ== 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=1787706430; 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=bIrVqXqGzGWCS7WSKxUixDddssjV3QK4ocMJUkzVcXw=; b=xiiUK7yuLpKxzB434SrOe0udfbH695cmO3y2mmWUrQKRY4VBeX2K4PjBArAzzqu4rRm5F7 e8cbUmOwhyGlvMDlEKbF+QCH5oEjJdj6GuIPzzYs6tPDljWj+sVvZ60JQM7Cpckg7Fp8aS 3VuTAacfKgDNQcyMfLZFd2zF2lOLrwfcE2CwEK3a9YfXr/Ti8qFx1VicKJWDSOCSrvkslc I2d6WhU2qaSNko5gM+NUZwfJ5DpNIfC/Ywqc+S0iB2JJ2aqZaTv/ZMJbVAhxAoNBSguj/q D1dRE+3vEh5Zf1yN/zmgKEbUKxFsiyj+qK3Z1m4rl8og103+RBBXaW/EyHQAow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hV61p3Z7qz1BK for ; Wed, 26 Aug 2026 01:07:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4469e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 26 Aug 2026 01:07:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 7ac83b9cab38 - stable/14 - ixgbe: Defer E610 thermal shutdown 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 7ac83b9cab38c2a727f0febfa215d8cb390006c4 Auto-Submitted: auto-generated Date: Wed, 26 Aug 2026 01:07:10 +0000 Message-Id: <6a8e3c3e.4469e.62ed7fbb@gitrepo.freebsd.org> The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=7ac83b9cab38c2a727f0febfa215d8cb390006c4 commit 7ac83b9cab38c2a727f0febfa215d8cb390006c4 Author: Kevin Bowling AuthorDate: 2026-08-12 03:57:29 +0000 Commit: Kevin Bowling CommitDate: 2026-08-26 01:03:01 +0000 ixgbe: Defer E610 thermal shutdown to iflib The E610 firmware event handler invoked ixgbe_if_stop() directly from IFDI_UPDATE_ADMIN_STATUS(). This reset the device without the iflib queue lifecycle and left the interface marked running after its hardware was stopped. Request an iflib reset instead. Fail the automatic initialization once so the reset transaction stops the interface and publishes that state. A later operator-requested initialization remains possible, matching the previous recovery policy without bypassing iflib. (cherry picked from commit 3aac283613bd3fd0228a06d6c854ca0bf190ecfb) --- sys/dev/ixgbe/if_ix.c | 19 ++++++++++++++----- sys/dev/ixgbe/ixgbe.h | 1 + 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index df3435434525..40a21bfefef8 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -4030,6 +4030,12 @@ ixgbe_if_init(if_ctx_t ctx) iflib_init_failed(ctx); return; } + /* Leave an overheated adapter stopped until an operator retries. */ + if (sc->overtemp_shutdown_pending) { + sc->overtemp_shutdown_pending = false; + iflib_init_failed(ctx); + return; + } /* Preserve the largest frame requested by the PF or an active VF. */ sc->max_frame_size = if_getmtu(ifp) + IXGBE_MTU_HDR; @@ -4804,11 +4810,14 @@ ixgbe_handle_fw_event(void *context) break; case ixgbe_aci_opc_temp_tca_event: - if (hw->adapter_stopped == FALSE) - ixgbe_if_stop(ctx); - device_printf(sc->dev, - "CRITICAL: OVER TEMP!! PHY IS SHUT DOWN!!\n"); - device_printf(sc->dev, "System shutdown required!\n"); + if (!sc->overtemp_shutdown_pending) { + sc->overtemp_shutdown_pending = true; + requests |= IXGBE_REQUEST_TASK_RESET; + device_printf(sc->dev, + "CRITICAL: OVER TEMP!! PHY IS SHUT DOWN!!\n"); + device_printf(sc->dev, + "System shutdown required!\n"); + } break; default: diff --git a/sys/dev/ixgbe/ixgbe.h b/sys/dev/ixgbe/ixgbe.h index d8f383dfc867..43610e863c6d 100644 --- a/sys/dev/ixgbe/ixgbe.h +++ b/sys/dev/ixgbe/ixgbe.h @@ -502,6 +502,7 @@ struct ixgbe_softc { /* Firmware error check */ int recovery_mode; + bool overtemp_shutdown_pending; struct callout fw_mode_timer; /* Misc stats maintained by the driver */