Commit fde5cc8
net: phy: honor eee_disabled_modes in phy_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>1 parent a72a008 commit fde5cc8
1 file changed
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2818 | 2818 | | |
2819 | 2819 | | |
2820 | 2820 | | |
2821 | | - | |
| 2821 | + | |
| 2822 | + | |
2822 | 2823 | | |
2823 | 2824 | | |
2824 | 2825 | | |
| |||
0 commit comments