The branch main has been updated by kbowling:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=2ead091715dee327b3e00bc9840e1a95827b8e82

commit 2ead091715dee327b3e00bc9840e1a95827b8e82
Author:     Kevin Bowling <[email protected]>
AuthorDate: 2025-11-21 05:47:03 +0000
Commit:     Kevin Bowling <[email protected]>
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 <[email protected]>
    Tested by:      Codin <[email protected]>
    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:

Reply via email to