From nobody Wed Aug 26 00:57:08 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 4hV5pF2V15z6qLFf for ; Wed, 26 Aug 2026 00:57:09 +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 4hV5pD6QNsz3vMJ for ; Wed, 26 Aug 2026 00:57:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787705829; 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=6WdNJGPl+Em/wxwcYcSpOodbHABPZrOkC1kjonkGJ3Q=; b=rG0kkQ2OkOOWTxcxvB8Ssmrr2AoEqTHp+MRCOvbCj0qmCZ8SfLaVt+BsVKCsXFXkMQPB3m 4HqOPWVou/US1wekoRHHPyiGUIRevTslt5au7jIIdI/y2+HtECV10pWHDJXcfuGJlHsC19 xL4LVsJBjtM0Yk0Zlbz0EK6qqm2hBf2IsLXITiO1dh1IexNOs9RAojLV34C/UoVqVZKKC0 AEPv4whSHdzZSnESgEAUziRnwom3Ke5OMsRW1pu1ykpdYAI4Upffa9HXdmKU6Ck9cd1R/0 X0qkf+KVztB6TgUuc/u/6Wb1W9aKpS/VP40RDNG9ouRZ+ke2Ef1doSgqSKb4DQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787705829; a=rsa-sha256; cv=none; b=azup0QW1VR6Gq6/nMT94IxzqY+q5XVpnzyzUNqizURFNcNqUd3nvHeKKDFbooeouhdlutZ j0KJO0x0c2w/ZXFSOxkZYKmAyZeZ3icjsxEKkFwtvWU3Tlc4kwlOfcY31gIBbQjw1M5LwO 7kO70VKRCKX+l13fRJK8KxPPnmoSShR0acF9UXsPnYne/ptrRTSQMH9YZBftVeAeZi0GWB DNS9Z2edmWxz5f11lCSHEmCflXghPgFEnApexxaROpbJi/RyQrhp7C93gcGPxi41Fj7+Bs SfeN90cZl6nTbecdCf0sDMVu2lPH/Ascypf1p2Hi5uBKcNi6JAhGITs7wH6RXA== 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=1787705829; 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=6WdNJGPl+Em/wxwcYcSpOodbHABPZrOkC1kjonkGJ3Q=; b=RBflicaO8Yyx7P276ZFxoyPYXEBokAJs4BpZfuJVthaR3l9kuvL1nP3/UTgIFSAukVbTs8 mbM/cyKsyPTPHvK9Po/CxlUJzmAEXY44ViJLtIyg62ZI/7hfrmef0PIZ60fsqQQD/DwWyN ZF/S5rlf1dO7LopWINaqU41fJE1ZEB0GiKYDf1lutJcOjg/2qFhaq5USCRVUq7/3PWp9jp yFcCPa3rYkEMIRh8F2U+d4Q4XeENESjcn9e6ZDS66QQXozLJQfK5oq4ctZTGpCXpckjBQl VuLVrEJfQGYmVEPqW278/Aojf0AQjQ23LcJHsmmI6chW6Z9tiFJOoXbGmdfNxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hV5pD589DzkZ for ; Wed, 26 Aug 2026 00:57:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4217b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 26 Aug 2026 00:57:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 1dc515bfe52f - stable/15 - 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/15 X-Git-Reftype: branch X-Git-Commit: 1dc515bfe52f130552ce0a9e3c805d1cc9a84363 Auto-Submitted: auto-generated Date: Wed, 26 Aug 2026 00:57:08 +0000 Message-Id: <6a8e39e4.4217b.ebb3270@gitrepo.freebsd.org> The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=1dc515bfe52f130552ce0a9e3c805d1cc9a84363 commit 1dc515bfe52f130552ce0a9e3c805d1cc9a84363 Author: Kevin Bowling AuthorDate: 2026-08-12 03:57:29 +0000 Commit: Kevin Bowling CommitDate: 2026-08-26 00:56:52 +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 */