[Bug 279245] igc(4) I226 (and I225) TX hangups

[email protected] Fri, 31 Jul 2026 09:43:59 +0000
Newsgroups gmane.os.freebsd.devel.net
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D279245

--- Comment #17 from [email protected] ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=3D9d30fd353dd3eacb095ce98cb9c91ec01=
5b9af64

commit 9d30fd353dd3eacb095ce98cb9c91ec015b9af64
Author:     Michael Adler <[email protected]>
AuthorDate: 2026-07-09 17:02:37 +0000
Commit:     Kevin Bowling <[email protected]>
CommitDate: 2026-07-31 09:33:54 +0000

    igc: Disable ASPM L1.2 on I226 to prevent RX stalls

    I226 parts advertise support for the PCIe L1.2 link substate, but a
    hardware erratum makes the exit latency from that low-power state
    longer than the packet buffer can absorb under load. This stalls the
    inbound packet stream. Disabling ASPM system-wide (BIOS or OS ASPM
    policy) does not fix it. The L1.2 enable bit must be cleared directly
    in the device's own PCIe L1 PM extended capability.

    Add igc_is_device_id_i226() to identify affected parts and
    igc_disable_broken_aspm_l1_2() to clear the ASPM L1.2 enable bit
    on attach and after resume, since PCIe config space can be
    reset across a suspend/resume cycle.

    Adapted from the Linux igc driver:

      0325143b59c6 igc: disable L1.2 PCI-E link substate to avoid
                   performance issue
      1468c1f97cf3 igc: fix disabling L1.2 PCI-E link substate on I226
                   on init

    Signed-off-by: Michael Adler <[email protected]>

    PR:             279245
    Reviewed by:    Jim Thompson
    MFC after:      1 week
    Pull-Request:   https://github.com/freebsd/freebsd-src/pull/2318

 sys/dev/igc/if_igc.c   | 44 ++++++++++++++++++++++++++++++++++++++++++++
 sys/dev/igc/igc_base.c | 21 +++++++++++++++++++++
 sys/dev/igc/igc_base.h |  1 +
 3 files changed, 66 insertions(+)

--=20
You are receiving this mail because:
You are the assignee for the bug.=