git: 2ead091715de - main - e1000: Don't enable ASPM L1 without L0s
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 21 Nov 2025 06:44:32 UTC
The branch main has been updated by kbowling:
URL: https://cgit.FreeBSD.org/src/commit/?id=2ead091715dee327b3e00bc9840e1a95827b8e82
commit 2ead091715dee327b3e00bc9840e1a95827b8e82
Author: Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2025-11-21 05:47:03 +0000
Commit: Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2025-11-21 06:44:25 +0000
e1000: Don't enable ASPM L1 without L0s
Reporter noted packet loss with 82583. NVM is down level. The
errata docs mention disabling this, which should be the firmware
default, so I am not sure why we were enabling this bit. Linux and
OpenBSD have the same issue, while NetBSD got it right.
Reported by: Codin <codin@nagi.ftp.sh>
Tested by: Codin <codin@nagi.ftp.sh>
MFC after: 2 weeks
---
sys/dev/e1000/e1000_82571.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys/dev/e1000/e1000_82571.c b/sys/dev/e1000/e1000_82571.c
index e8970adf996f..650169663f56 100644
--- a/sys/dev/e1000/e1000_82571.c
+++ b/sys/dev/e1000/e1000_82571.c
@@ -1118,7 +1118,8 @@ static s32 e1000_init_hw_82571(struct e1000_hw *hw)
case e1000_82574:
case e1000_82583:
reg_data = E1000_READ_REG(hw, E1000_GCR);
- reg_data |= E1000_GCR_L1_ACT_WITHOUT_L0S_RX;
+ /* 82574 Errata 25, 82583 Errata 12 */
+ reg_data &= ~E1000_GCR_L1_ACT_WITHOUT_L0S_RX;
E1000_WRITE_REG(hw, E1000_GCR, reg_data);
break;
default: