diff options
| author | Kevin Bowling <kbowling@FreeBSD.org> | 2025-11-21 05:47:03 +0000 |
|---|---|---|
| committer | Kevin Bowling <kbowling@FreeBSD.org> | 2025-11-21 06:44:25 +0000 |
| commit | 2ead091715dee327b3e00bc9840e1a95827b8e82 (patch) | |
| tree | 8852f412044eea9e9e1abd888870b3e0cc529e85 | |
| parent | aa30bab9a92e1be230b9708bff9f33aae7d384e5 (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.c | 3 |
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: |
