Skip to content

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

Merged
pelwell merged 1 commit into
raspberrypi:rpi-6.18.yfrom
nbuchwitz:devel/phy-support-eee-fix-6.18
May 18, 2026
Merged

net: phy: honor eee_disabled_modes in phy_support_eee()#7373
pelwell merged 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>
@pelwell pelwell merged commit fde5cc8 into raspberrypi:rpi-6.18.y May 18, 2026
11 of 12 checks passed
@pelwell
Copy link
Copy Markdown
Contributor

pelwell commented May 18, 2026

Thanks, Nicolai.

popcornmix added a commit to raspberrypi/firmware that referenced this pull request May 18, 2026
kernel: char: broadcom: vcio: Create addtional vcio nodes for fine grained access
See: raspberrypi/linux#7351

kernel: dtoverlays: HyperPixel 2 Round: Add PWM Backlight support
See: raspberrypi/linux#7360

kernel: net: phy: honor eee_disabled_modes in phy_support_eee()
See: raspberrypi/linux#7373

kernel: mmc: set MMC_QUIRK_KNOWN_WORKING_SD_CQ on select Transcend SD cards
See: raspberrypi/linux#7379
popcornmix added a commit to raspberrypi/rpi-firmware that referenced this pull request May 18, 2026
kernel: char: broadcom: vcio: Create addtional vcio nodes for fine grained access
See: raspberrypi/linux#7351

kernel: dtoverlays: HyperPixel 2 Round: Add PWM Backlight support
See: raspberrypi/linux#7360

kernel: net: phy: honor eee_disabled_modes in phy_support_eee()
See: raspberrypi/linux#7373

kernel: mmc: set MMC_QUIRK_KNOWN_WORKING_SD_CQ on select Transcend SD cards
See: raspberrypi/linux#7379
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.

2 participants