]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
fix up 6.12 net/phy issues
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Nov 2025 01:22:28 +0000 (10:22 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Nov 2025 01:22:28 +0000 (10:22 +0900)
queue-6.12/net-phy-add-phy_disable_eee.patch [deleted file]
queue-6.12/net-phy-dp83867-disable-eee-support-as-not-implemented.patch [deleted file]
queue-6.12/net-phy-fix-phy_disable_eee.patch [deleted file]
queue-6.12/series

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 (file)
index 956ee48..0000000
+++ /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 <sashal@kernel.org>
-Date: Sun,  2 Nov 2025 09:46:45 -0500
-Subject: net: phy: add phy_disable_eee
-To: stable@vger.kernel.org
-Cc: Heiner Kallweit <hkallweit1@gmail.com>, Andrew Lunn <andrew@lunn.ch>, Jakub Kicinski <kuba@kernel.org>, Sasha Levin <sashal@kernel.org>
-Message-ID: <20251102144646.3457653-1-sashal@kernel.org>
-
-From: Heiner Kallweit <hkallweit1@gmail.com>
-
-[ 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 <hkallweit1@gmail.com>
-Reviewed-by: Andrew Lunn <andrew@lunn.ch>
-Link: https://patch.msgid.link/fd51738c-dcd6-4d61-b8c5-faa6ac0f1026@gmail.com
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Stable-dep-of: 84a905290cb4 ("net: phy: dp83867: Disable EEE support as not implemented")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- 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 (file)
index f0a65a8..0000000
+++ /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 <sashal@kernel.org>
-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 <emanuele.ghidoli@toradex.com>, Andrew Lunn <andrew@lunn.ch>, Jakub Kicinski <kuba@kernel.org>, Sasha Levin <sashal@kernel.org>
-Message-ID: <20251102144646.3457653-2-sashal@kernel.org>
-
-From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
-
-[ 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 <emanuele.ghidoli@toradex.com>
-Reviewed-by: Andrew Lunn <andrew@lunn.ch>
-Link: https://patch.msgid.link/20251023144857.529566-1-ghidoliemanuele@gmail.com
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- 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 (file)
index 6b4bb8b..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From c83ca5a4df7cf0ce9ccc25e8481043e05aed6ad0 Mon Sep 17 00:00:00 2001
-From: Heiner Kallweit <hkallweit1@gmail.com>
-Date: Fri, 20 Dec 2024 23:02:06 +0100
-Subject: net: phy: fix phy_disable_eee
-
-From: Heiner Kallweit <hkallweit1@gmail.com>
-
-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 <hkallweit1@gmail.com>
-Link: https://patch.msgid.link/57e2ae5f-4319-413c-b5c4-ebc8d049bc23@gmail.com
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- 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);
index 5f419f085898fe80435489ff16e4518d218d3f95..05dc8a8e0f22d2c46a128b795ef502c592f60055 100644 (file)
@@ -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