[PATCH] phy: fsl-lynx-28g: propagate PCVT enable errors

From: kr494167

Date: Tue Jul 21 2026 - 23:36:50 EST


From: surendra <kr494167@xxxxxxxxx>

lynx_28g_set_mode() currently ignores failures from
lynx_28g_lane_enable_pcvt(). It then updates the lane mode and reports
success even though the protocol converter may remain disabled.

Propagate the error and leave the previous lane mode intact so the caller
can handle the failed reconfiguration.

Fixes: 8f73b37cf3fb ("phy: add support for the Layerscape SerDes 28G")
Signed-off-by: surendra <kr494167@xxxxxxxxx>
---
drivers/phy/freescale/phy-fsl-lynx-28g.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/phy/freescale/phy-fsl-lynx-28g.c b/drivers/phy/freescale/phy-fsl-lynx-28g.c
index 38afcd081a2a..1fe406adc83c 100644
--- a/drivers/phy/freescale/phy-fsl-lynx-28g.c
+++ b/drivers/phy/freescale/phy-fsl-lynx-28g.c
@@ -1003,7 +1003,9 @@ static int lynx_28g_set_mode(struct phy *phy, enum phy_mode mode, int submode)

lynx_28g_lane_change_proto_conf(lane, lane_mode);
lynx_28g_lane_remap_pll(lane, lane_mode);
- WARN_ON(lynx_28g_lane_enable_pcvt(lane, lane_mode));
+ err = lynx_28g_lane_enable_pcvt(lane, lane_mode);
+ if (err)
+ goto out;

lane->mode = lane_mode;

--
2.55.0