From: Greg Kroah-Hartman Date: Tue, 11 Nov 2025 01:22:28 +0000 (+0900) Subject: fix up 6.12 net/phy issues X-Git-Tag: v6.12.58~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=304292822f5dd71e2becaa1041ab4b57146ef748;p=thirdparty%2Fkernel%2Fstable-queue.git fix up 6.12 net/phy issues --- diff --git a/queue-6.12/net-phy-add-phy_disable_eee.patch b/queue-6.12/net-phy-add-phy_disable_eee.patch deleted file mode 100644 index 956ee480fe..0000000000 --- a/queue-6.12/net-phy-add-phy_disable_eee.patch +++ /dev/null @@ -1,62 +0,0 @@ -From stable+bounces-192063-greg=kroah.com@vger.kernel.org Sun Nov 2 23:47:24 2025 -From: Sasha Levin -Date: Sun, 2 Nov 2025 09:46:45 -0500 -Subject: net: phy: add phy_disable_eee -To: stable@vger.kernel.org -Cc: Heiner Kallweit , Andrew Lunn , Jakub Kicinski , Sasha Levin -Message-ID: <20251102144646.3457653-1-sashal@kernel.org> - -From: Heiner Kallweit - -[ Upstream commit b55498ff14bd14860d48dc8d2a0b6889b218c408 ] - -If a MAC driver doesn't support EEE, then the PHY shouldn't advertise it. -Add phy_disable_eee() for this purpose. - -Signed-off-by: Heiner Kallweit -Reviewed-by: Andrew Lunn -Link: https://patch.msgid.link/fd51738c-dcd6-4d61-b8c5-faa6ac0f1026@gmail.com -Signed-off-by: Jakub Kicinski -Stable-dep-of: 84a905290cb4 ("net: phy: dp83867: Disable EEE support as not implemented") -Signed-off-by: Sasha Levin -Signed-off-by: Greg Kroah-Hartman ---- - drivers/net/phy/phy_device.c | 16 ++++++++++++++++ - include/linux/phy.h | 1 + - 2 files changed, 17 insertions(+) - ---- a/drivers/net/phy/phy_device.c -+++ b/drivers/net/phy/phy_device.c -@@ -3046,6 +3046,22 @@ void phy_support_eee(struct phy_device * - EXPORT_SYMBOL(phy_support_eee); - - /** -+ * phy_disable_eee - Disable EEE for the PHY -+ * @phydev: Target phy_device struct -+ * -+ * This function is used by MAC drivers for MAC's which don't support EEE. -+ * It disables EEE on the PHY layer. -+ */ -+void phy_disable_eee(struct phy_device *phydev) -+{ -+ linkmode_zero(phydev->supported_eee); -+ linkmode_zero(phydev->advertising_eee); -+ phydev->eee_cfg.tx_lpi_enabled = false; -+ phydev->eee_cfg.eee_enabled = false; -+} -+EXPORT_SYMBOL_GPL(phy_disable_eee); -+ -+/** - * phy_support_sym_pause - Enable support of symmetrical pause - * @phydev: target phy_device struct - * ---- a/include/linux/phy.h -+++ b/include/linux/phy.h -@@ -2030,6 +2030,7 @@ void phy_advertise_eee_all(struct phy_de - void phy_support_sym_pause(struct phy_device *phydev); - void phy_support_asym_pause(struct phy_device *phydev); - void phy_support_eee(struct phy_device *phydev); -+void phy_disable_eee(struct phy_device *phydev); - void phy_set_sym_pause(struct phy_device *phydev, bool rx, bool tx, - bool autoneg); - void phy_set_asym_pause(struct phy_device *phydev, bool rx, bool tx); diff --git a/queue-6.12/net-phy-dp83867-disable-eee-support-as-not-implemented.patch b/queue-6.12/net-phy-dp83867-disable-eee-support-as-not-implemented.patch deleted file mode 100644 index f0a65a8194..0000000000 --- a/queue-6.12/net-phy-dp83867-disable-eee-support-as-not-implemented.patch +++ /dev/null @@ -1,54 +0,0 @@ -From stable+bounces-192064-greg=kroah.com@vger.kernel.org Sun Nov 2 23:47:24 2025 -From: Sasha Levin -Date: Sun, 2 Nov 2025 09:46:46 -0500 -Subject: net: phy: dp83867: Disable EEE support as not implemented -To: stable@vger.kernel.org -Cc: Emanuele Ghidoli , Andrew Lunn , Jakub Kicinski , Sasha Levin -Message-ID: <20251102144646.3457653-2-sashal@kernel.org> - -From: Emanuele Ghidoli - -[ Upstream commit 84a905290cb4c3d9a71a9e3b2f2e02e031e7512f ] - -While the DP83867 PHYs report EEE capability through their feature -registers, the actual hardware does not support EEE (see Links). -When the connected MAC enables EEE, it causes link instability and -communication failures. - -The issue is reproducible with a iMX8MP and relevant stmmac ethernet port. -Since the introduction of phylink-managed EEE support in the stmmac driver, -EEE is now enabled by default, leading to issues on systems using the -DP83867 PHY. - -Call phy_disable_eee during phy initialization to prevent EEE from being -enabled on DP83867 PHYs. - -Link: https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1445244/dp83867ir-dp83867-disable-eee-lpi -Link: https://e2e.ti.com/support/interface-group/interface/f/interface-forum/658638/dp83867ir-eee-energy-efficient-ethernet -Fixes: 2a10154abcb7 ("net: phy: dp83867: Add TI dp83867 phy") -Cc: stable@vger.kernel.org -Signed-off-by: Emanuele Ghidoli -Reviewed-by: Andrew Lunn -Link: https://patch.msgid.link/20251023144857.529566-1-ghidoliemanuele@gmail.com -Signed-off-by: Jakub Kicinski -Signed-off-by: Sasha Levin -Signed-off-by: Greg Kroah-Hartman ---- - drivers/net/phy/dp83867.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/drivers/net/phy/dp83867.c -+++ b/drivers/net/phy/dp83867.c -@@ -792,6 +792,12 @@ static int dp83867_config_init(struct ph - return ret; - } - -+ /* Although the DP83867 reports EEE capability through the -+ * MDIO_PCS_EEE_ABLE and MDIO_AN_EEE_ADV registers, the feature -+ * is not actually implemented in hardware. -+ */ -+ phy_disable_eee(phydev); -+ - if (phy_interface_is_rgmii(phydev) || - phydev->interface == PHY_INTERFACE_MODE_SGMII) { - val = phy_read(phydev, MII_DP83867_PHYCTRL); diff --git a/queue-6.12/net-phy-fix-phy_disable_eee.patch b/queue-6.12/net-phy-fix-phy_disable_eee.patch deleted file mode 100644 index 6b4bb8bf7b..0000000000 --- a/queue-6.12/net-phy-fix-phy_disable_eee.patch +++ /dev/null @@ -1,39 +0,0 @@ -From c83ca5a4df7cf0ce9ccc25e8481043e05aed6ad0 Mon Sep 17 00:00:00 2001 -From: Heiner Kallweit -Date: Fri, 20 Dec 2024 23:02:06 +0100 -Subject: net: phy: fix phy_disable_eee - -From: Heiner Kallweit - -commit c83ca5a4df7cf0ce9ccc25e8481043e05aed6ad0 upstream. - -genphy_c45_write_eee_adv() becomes a no-op if phydev->supported_eee -is cleared. That's not what we want because this function is still -needed to clear the EEE advertisement register(s). -Fill phydev->eee_broken_modes instead to ensure that userspace -can't re-enable EEE advertising. - -Fixes: b55498ff14bd ("net: phy: add phy_disable_eee") -Signed-off-by: Heiner Kallweit -Link: https://patch.msgid.link/57e2ae5f-4319-413c-b5c4-ebc8d049bc23@gmail.com -Signed-off-by: Jakub Kicinski -Signed-off-by: Greg Kroah-Hartman ---- - drivers/net/phy/phy_device.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/net/phy/phy_device.c -+++ b/drivers/net/phy/phy_device.c -@@ -3054,10 +3054,11 @@ EXPORT_SYMBOL(phy_support_eee); - */ - void phy_disable_eee(struct phy_device *phydev) - { -- linkmode_zero(phydev->supported_eee); - linkmode_zero(phydev->advertising_eee); - phydev->eee_cfg.tx_lpi_enabled = false; - phydev->eee_cfg.eee_enabled = false; -+ /* don't let userspace re-enable EEE advertisement */ -+ linkmode_fill(phydev->eee_broken_modes); - } - EXPORT_SYMBOL_GPL(phy_disable_eee); - diff --git a/queue-6.12/series b/queue-6.12/series index 5f419f0858..05dc8a8e0f 100644 --- a/queue-6.12/series +++ b/queue-6.12/series @@ -72,8 +72,6 @@ drm-amd-check-that-vpe-has-reached-dpm0-in-idle-handler.patch drm-amd-display-fix-incorrect-return-of-vblank-enable-on-unconfigured-crtc.patch acpi-fan-add-fan-speed-reporting-for-fans-with-only-_fst.patch acpi-fan-use-platform-device-for-devres-related-actions.patch -net-phy-add-phy_disable_eee.patch -net-phy-dp83867-disable-eee-support-as-not-implemented.patch sched_ext-mark-scx_bpf_dsq_move_set_-with-kf_rcu.patch cpuidle-governors-menu-rearrange-main-loop-in-menu_select.patch cpuidle-governors-menu-select-polling-state-in-some-more-cases.patch @@ -562,4 +560,3 @@ acpi-spcr-check-for-table-version-when-using-precise-baudrate.patch drm-amdgpu-fix-unintended-error-log-in-vcn5_0_0.patch drm-amdgpu-fix-function-header-names-in-amdgpu_connectors.c.patch drm-amd-display-fix-black-screen-with-hdmi-outputs.patch -net-phy-fix-phy_disable_eee.patch