From dd9dad83b1c54d8ec76a8eff566f58a449b2cf81 Mon Sep 17 00:00:00 2001 From: Kevin Bowling Date: Thu, 20 Nov 2025 22:47:03 -0700 Subject: [PATCH] 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 Tested by: Codin (cherry picked from commit 2ead091715dee327b3e00bc9840e1a95827b8e82) --- 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 e8970adf996..650169663f5 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: