From nobody Wed Aug 12 04:07:48 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 4hKZhj0sglz6mHLd for ; Wed, 12 Aug 2026 04:07:49 +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 4hKZhh6s9Yz3x5t for ; Wed, 12 Aug 2026 04:07:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786507669; 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=i7TtEm0ryhRxmj72bGhgAALWxGz4mJWommRtYEu5oRY=; b=PjoY3GVB1QdYUNH6zNHkyGTdW6LP/ywZZ7j5wZzQT5AUPO4AVd4p7r3xaPiRp4N1i09JNX wgbB0ESfGhY09vUG4hAsOIecKMNnUDGAFmDo8rKAjGirGL0pG6hiSI6T5ZJDFNgKQC4/53 xombnG0/yfGyzsFjCG3I0y1maNtkgn8pQMieW5cGGeRBZimHfbNGUDZCnVUvdHq6EK9MfD 7FkVIzXXaXKrIb5ZyuQO5Qs9zGHMU3pCeVQQWRZFiiE4Lqc//sDqJ1tHhwBcLlfiS6ArpG R69U2Y15hqpISNmy8H0HVpHDhkOEWY3mjq3/GVn3swnEfAQ05EewcMgE9LRarQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786507669; a=rsa-sha256; cv=none; b=lmpU4zvg3gfnHNngvUsp7xx+V8LnPs3snpOegrbR6lLHFbiBAWSuXBe2QJDqvm73yTPy7K pxj0puAjRd8LhqiSjZElNgdr/+AdffYLf5UvfkKoibB+OjNCXFAG6oQuntAJz5wO1X1Fng eU+xAz+tl3SImbgzGW+lZowBw7xtqDKM8gG/Ok7PJmelNpll252d7hhq0Q3Wqgl+wXWfDe MEF3NblPZb8aaanvc7rn0fwALV9Mm24CUyelhTX0Ib5uEX7TF6+h7x4aSE/JVPhUTGjyU9 jPNLwpkFS28gFWkBPsy86TDp1ZxIqdY7wy+0fqX9pLVkuNysKxrRzpfhT1ycWA== 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=1786507669; 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=i7TtEm0ryhRxmj72bGhgAALWxGz4mJWommRtYEu5oRY=; b=UDtxRyrh1T3TOrpu9b1hVqrYNv0bZoTj2OujZgPu/CRkFMPj0iJjthiS7oTEgam2EsNr4H f82KSrjehyLTN2ooO5EfCREiOxASINuap69jl8xLvnhzYEw4B7dIg9pwfRbWg9ahP1uhfz S13p+OyPerpTKAI1hyGEZ8RSw+WM9LXzhqTUHa0EHf+ObEASYrjtXo6Eja1fYnF6xZ61lK JWOUGrEGVCNRoMZnk3Jiqh8VxCBMctIbI+VeRcZ6xehPWZfjgOzqxKB3Py6l6biPvDR2F9 QIvY8MWSlq4AB7YYAvZ8T31SSDoTqBHmTffRFkt9yTq9rkjA9z2UOoMUNS5rzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hKZhh5MyPz1Nlt for ; Wed, 12 Aug 2026 04:07:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d1a1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 12 Aug 2026 04:07:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 3aac283613bd - main - ixgbe: Defer E610 thermal shutdown 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: 3aac283613bd3fd0228a06d6c854ca0bf190ecfb Auto-Submitted: auto-generated Date: Wed, 12 Aug 2026 04:07:48 +0000 Message-Id: <6a7bf194.3d1a1.1d43a3a7@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=3aac283613bd3fd0228a06d6c854ca0bf190ecfb commit 3aac283613bd3fd0228a06d6c854ca0bf190ecfb Author: Kevin Bowling AuthorDate: 2026-08-12 03:57:29 +0000 Commit: Kevin Bowling CommitDate: 2026-08-12 04:07:20 +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. MFC after: 2 weeks --- 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 0ec9dd584b60..7bc7a2fc831b 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -4039,6 +4039,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; @@ -4813,11 +4819,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 3f06d1ab8120..8ded6fa41c65 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 */