[Bug 266973] [e1000] incorrect behavior when media and mediaopt are set to 100BaseTX full-duplex

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 07 Nov 2022 20:54:48 UTC

--- Comment #3 from Kristof Provost <kp@freebsd.org> ---
I'm struggling to make sense of this. I can't quite follow how the code
produces this PHY access pattern, and can also not work out why we end up
getting link when dtrace instrumented, and not when it's not. Unless we're not
waiting long enough for the PHY to do its thing, but I also can't see evidence
of that in the dtrace output.

There are two series of what looks like a wait for link pattern in the dtrace
output> That is, this:

26   4923   e1000_read_phy_reg_82580:entry read(0x1)
26   4924  e1000_read_phy_reg_82580:return => 0x7949

I'd assume that's produced by e1000_phy_has_link_generic() where we do 2x
iterations of read_reg(PHY_STATUS), and check for the MII_SR_LINK_STATUS flag.
That flag (0x0004) is not set in any of these reads, and yet ifconfig does
later report "status: active".

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