Page MenuHomeFreeBSD

e1000: fix em_mac_min and 82547 packet buffer
ClosedPublic

Authored by kbowling on Apr 14 2021, 10:59 PM.

Details

Summary

There are two fixes that can be committed together or separately, one is to set em_mac_min correctly. I've reviewed uses of em_mac_min, especially the boundary conditions, and think this is fully correct but would like another set of eyes on them.

The other is to set the packet buffer correctly for 82547 class chips.

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236119
Reported by: Jeff Gibbons <jgibbons@protogate.com>

Test Plan

The submitter has verified one MAC, we will probably need community reports to gather any other issues for these parts.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

kbowling created this revision.
kbowling edited the summary of this revision. (Show Details)
kbowling edited the summary of this revision. (Show Details)

Looks right based on some comparison with lem in stable/11. In lem there are some 82547-specific workarounds for a transmit hang in half duplex mode, they appear to have been dropped. I guess it is not worth the effort to restore them.

This revision is now accepted and ready to land.Apr 15 2021, 2:15 PM