aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Bowling <kbowling@FreeBSD.org>2025-11-21 05:47:03 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2025-11-21 06:44:25 +0000
commit2ead091715dee327b3e00bc9840e1a95827b8e82 (patch)
tree8852f412044eea9e9e1abd888870b3e0cc529e85
parentaa30bab9a92e1be230b9708bff9f33aae7d384e5 (diff)
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
-rw-r--r--sys/dev/e1000/e1000_82571.c3
1 files changed, 2 insertions, 1 deletions
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: