From nobody Tue Aug 25 00:31:22 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 4hTTGz360Fz6pMbF for ; Tue, 25 Aug 2026 00:31:23 +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 4hTTGz0FXtz48sJ for ; Tue, 25 Aug 2026 00:31:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787617883; 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=w4OrAR+If4wTVdTrPL4wMfxiNAWWn9HuryD0ueTD0qg=; b=NRK1GcI3+K6COnQ5CS88mfLF3M3BPCvTwpdtZPhcXUp3W5KyCKXI3oPf2IT1Qh/8Weo549 L5Qwts5NrCG3QwKlRf6KVumqxoLtMPs/bmv98nQpUzvripzvY2SXuZDQEfPbnrFxfaNKWk Vddrkjw+X0SpJ40hC5AnnPD1y6qn63rHmiNMxX6ozw9Icr45lWm+JbAnJT9+8T66uAkJaE tOHsGhCWxlPbvVtLiHuosijIH2bRS8+nva79AhqnTXHw1cgmULw3a4nOxpdMfWcbs4f0rj ogeOg6emDATsAuoA2p+nkSYfc20RPCtGYE9Nsx0oyvuxowxrSImFGQ2H6gK8Sg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787617883; a=rsa-sha256; cv=none; b=H5euwlr27I7hme5LPO3e5nDM/NmqbS0YoxAIA0ShFy4g4/XGx9FiNHZFJAAt+z11TZMPmx 6RxxC9MsG+/Rv+UjeLIabhHZPi2+AedS8+yiVm1muCtfKtJ2jGZJSa7URS/IFCMDXW8VCv 8ZeZ/zBX3N49Fg9ev0ivGq2e0d8akymEyfIUEXGrFYNcWEk/3fBejO2TJz1tcFr4FqOukR gT4Ag2Z7Ga8jeQkXTiMnsVFwB/3w1zOMzlSa5HxodhSt6lD9UPmb6ZvVB6ylM/4LMTOLcE HXr7sd/w6c2TCe2c7FzCwZvbfZys2Q6B1O/clX0lgnavy4uxlVubY7oR16Sdyw== 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=1787617883; 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=w4OrAR+If4wTVdTrPL4wMfxiNAWWn9HuryD0ueTD0qg=; b=YPyB7/QtpegP11E4hKk1MVNwkKozcQz8esO5sdMl+vSDFtICIJ2dEt4Nsu9FQuETaNETvn 0E3gBiizbfEPv8TiugFj/fWkIbmR0+aogKnrBrgB/h18LdB7U0/pwM3T7m9DWh5ThFf1k2 Z+mGKVUf1GJXxyFaw+n5pjCVK2FuYebLA7xEI7GcMscj/Bpn0FN8Nyo7oUbJD2qA2+6yi9 lGjxPrLypch5wDV9UJNDo1JcaI7Lar7thFmwwln9dsufgc9LTqEaLVf9V+v9KLTATRoeGQ EroALWn2CwGqAhRpRA160YPBiUmJ7OUrhii+ec0L2idvhCW0776lGgom+e5y8Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hTTGy69vDzBVX for ; Tue, 25 Aug 2026 00:31:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fb5c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 25 Aug 2026 00:31:22 +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: 6a31198b682b - stable/15 - 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/15 X-Git-Reftype: branch X-Git-Commit: 6a31198b682bafca9d67743627dba55014832d88 Auto-Submitted: auto-generated Date: Tue, 25 Aug 2026 00:31:22 +0000 Message-Id: <6a8ce25a.3fb5c.61d4ae12@gitrepo.freebsd.org> The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=6a31198b682bafca9d67743627dba55014832d88 commit 6a31198b682bafca9d67743627dba55014832d88 Author: Pawel Malinowski AuthorDate: 2025-02-06 16:08:37 +0000 Commit: Kevin Bowling CommitDate: 2026-08-25 00:24:37 +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");