Skip to content

net: phy: honor eee_disabled_modes in phy_support_eee()#7373

Open
nbuchwitz wants to merge 1 commit into
raspberrypi:rpi-6.18.yfrom
nbuchwitz:devel/phy-support-eee-fix-6.18
Open

net: phy: honor eee_disabled_modes in phy_support_eee()#7373
nbuchwitz wants to merge 1 commit into
raspberrypi:rpi-6.18.yfrom
nbuchwitz:devel/phy-support-eee-fix-6.18

Conversation

@nbuchwitz
Copy link
Copy Markdown
Contributor

phy_support_eee() copies supported_eee into advertising_eee unconditionally, overwriting any filtering that was applied during phy_probe() based on DT eee-broken-* properties or driver-populated eee_disabled_modes. As a result, MAC drivers that call phy_support_eee() after probe (e.g. bcmgenet, fec, lan743x, lan78xx, r8169) cause the PHY to advertise EEE for modes the user marked as broken.

The symptom is that ethtool --show-eee on the local interface reports "not supported" (supported & ~eee_disabled_modes is empty) while the link partner sees EEE negotiated and active.

phy_probe() already filters advertising_eee via eee_disabled_modes after calling of_set_phy_eee_broken(). Apply the same mask in phy_support_eee() so the filtering survives the copy.

Fixes: 49168d1 ("net: phy: Add phy_support_eee() indicating MAC support EEE")

phy_support_eee() copies supported_eee into advertising_eee unconditionally,
overwriting any filtering that was applied during phy_probe() based on
DT eee-broken-* properties or driver-populated eee_disabled_modes. As a
result, MAC drivers that call phy_support_eee() after probe (e.g. bcmgenet,
fec, lan743x, lan78xx, r8169) cause the PHY to advertise EEE for modes
the user marked as broken.

The symptom is that ethtool --show-eee on the local interface reports
"not supported" (supported & ~eee_disabled_modes is empty) while the
link partner sees EEE negotiated and active.

phy_probe() already filters advertising_eee via eee_disabled_modes after
calling of_set_phy_eee_broken(). Apply the same mask in phy_support_eee()
so the filtering survives the copy.

Fixes: 49168d1 ("net: phy: Add phy_support_eee() indicating MAC support EEE")
Signed-off-by: Nicolai Buchwitz <nb@tipi-net.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant