From nobody Tue Aug 25 00:37:29 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 4hTTQ15FgDz6pNV9 for ; Tue, 25 Aug 2026 00:37:29 +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 4hTTQ11qmbz4PQP for ; Tue, 25 Aug 2026 00:37:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787618249; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=scFs1iHmV7A04eYLu6NBpXX7UYhZjD1RJdHSm62lUCg=; b=BujJ18djtBfI+J3upMu1cGmESt2ReyK6aWrpZANfhAenkUWoRjD5NLBBVNM5u1bryUMn6q /Rzv6JK9PheXTa8ehAhaRcynrWYu2EBRYUwbs8Yz5+KYd+mMGUJsV2/lGTe40PeLsXzKCv qdjw+CsSOdTWRVegpb+XBDncH7eq2nhQTlN15BiAudDxvdXzxMPOnNHBDkphIDrV2UupWV HCA92YP+iV3eOqip9EINeNSIkAT9eg6q0sDgQqvvnWEVHJUDuTJ0n8Otz4Y4zFB50MdsXE rGY1WGm4E07ECoEmRGjgrBPeigKyc41CdBSXEJtsGRr6BK9WIwMe97NRSbFTqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787618249; a=rsa-sha256; cv=none; b=vUVLYCIjE4eDk+71VOEvNGdxgvn4ypjwza0gpVQqfxfXW9PoJxGNl17NsiKgM9jl2Dxmo9 UyVrPL4VKTkLjAjhqUY3ziJRtNozyevxdZSfwqkEu7KKgwpeQoL3+D2egoOkcZ3bpFdMGg H/deea4BN8ktzUp1bja8PUY/tHvcMwtInssQS3fTFFgmiXpTFYy75xHnsOh9eSzMQIMiKv ckOqmrKXKX/29XAfSIi8jsFDxBuXvazS73k/aAJfdVmEZZQlXcqebdWeP30xu5mEQe+QtO wPqeV0AQkvLLK/JSnCM3QNqsqvT05+/AfvkG8QU/eeiYERWxJ5CsT/Rs8811Pg== 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=1787618249; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=scFs1iHmV7A04eYLu6NBpXX7UYhZjD1RJdHSm62lUCg=; b=NDokHP+x2IF6n3i1SGYqwZ/3beBD7BrCZ1Iedp++kfI/blD7QMmZoedceshT+vcWAQ+Rk1 oBUscDELoNBX/gjmtHyVo8gILIeMTHB1UYfT56VodDazywq6zGf7uHYCIOll7siko6PdKd 8Vq7ZLOSBAC0FToRxKal+0tlH7UryGwsqspqdCgqEaeAZZKkbAY6mmMwVzje9ReOlGjc+b rYfMWW0X5Fx5Eo1d5e2EM4hC7AE0/3KojY38K9wzPPPhyJYUW8yTkxaxn7wCr5smrswv2J 1XEvMj1AWzJ3272f+kYYaWmYWIWdWzUNI1b99vIelWj0ClP75l+qvenSwo/spw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hTTQ10TZyzCGt for ; Tue, 25 Aug 2026 00:37:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40202 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 25 Aug 2026 00:37:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Pawel Malinowski From: Kevin Bowling Subject: git: 380d32f6e1d6 - stable/14 - e1000: fix semaphore timeout value 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: 380d32f6e1d65f4139a4121dfc159bb4051f29d9 Auto-Submitted: auto-generated Date: Tue, 25 Aug 2026 00:37:29 +0000 Message-Id: <6a8ce3c9.40202.619574dd@gitrepo.freebsd.org> The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=380d32f6e1d65f4139a4121dfc159bb4051f29d9 commit 380d32f6e1d65f4139a4121dfc159bb4051f29d9 Author: Pawel Malinowski AuthorDate: 2025-02-06 16:08:37 +0000 Commit: Kevin Bowling CommitDate: 2026-08-25 00:35:18 +0000 e1000: fix semaphore timeout value DPDK commit message net/e1000/base: fix semaphore timeout value According to datasheet, software ownership of SWSM.SWESMBI bit should not exceed 100ms. Current implementation caused incorrect timeout counter values, where each iteration equals 50us delay. Because of that driver was allowed to wait for semaphore even for 1.5s. This might trigger DPC timeout. This implementation hardcodes value to 2000, which multiplied by 50us, gives 100ms of possible wait time. Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org Signed-off-by: Pawel Malinowski Signed-off-by: Anatoly Burakov Acked-by: Bruce Richardson Obtained from: DPDK (c8bcaf0f2a) (cherry picked from commit ea2e8b056b455e92830bd1bae56b4d72a42018c3) --- sys/dev/e1000/e1000_defines.h | 1 + sys/dev/e1000/e1000_mac.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/e1000/e1000_defines.h b/sys/dev/e1000/e1000_defines.h index fb21ad3d24b0..afa8bb4cce0d 100644 --- a/sys/dev/e1000/e1000_defines.h +++ b/sys/dev/e1000/e1000_defines.h @@ -536,6 +536,7 @@ /* SW Semaphore Register */ #define E1000_SWSM_SMBI 0x00000001 /* Driver Semaphore bit */ #define E1000_SWSM_SWESMBI 0x00000002 /* FW Semaphore bit */ +#define E1000_SWSM_TIMEOUT 2000 /* 100 ms at 50 us per poll */ #define E1000_SWSM_DRV_LOAD 0x00000008 /* Driver Loaded Bit */ #define E1000_SWSM2_LOCK 0x00000002 /* Secondary driver semaphore bit */ diff --git a/sys/dev/e1000/e1000_mac.c b/sys/dev/e1000/e1000_mac.c index a2e05498c681..c61f5b47b746 100644 --- a/sys/dev/e1000/e1000_mac.c +++ b/sys/dev/e1000/e1000_mac.c @@ -2198,7 +2198,7 @@ s32 e1000_write_8bit_ctrl_reg_generic(struct e1000_hw *hw, u32 reg, s32 e1000_get_hw_semaphore_generic(struct e1000_hw *hw) { u32 swsm; - s32 timeout = hw->nvm.word_size + 1; + s32 timeout = E1000_SWSM_TIMEOUT; s32 i = 0; DEBUGFUNC("e1000_get_hw_semaphore_generic");