From f4129f1694e366f0ef4e76ed3d23cdece38ef064 Mon Sep 17 00:00:00 2001 From: Jonas Jelonek Date: Mon, 28 Sep 2026 23:20:03 +0000 Subject: [PATCH] realtek: pcs: rtl838x: propagate queue reset errors The first SerDes start requests a switch queue reset but discards any regmap failure. Return the write result so PCS configuration does not report success when the required recovery reset failed. Assisted-by: ChatGPT (OpenAI GPT-5.6 Sol) Signed-off-by: Jonas Jelonek --- .../linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c b/target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c index 3592ac829f2..9e8617a7fe5 100644 --- a/target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c +++ b/target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c @@ -1202,10 +1202,10 @@ static int rtpcs_838x_sds_post_config(struct rtpcs_serdes *sds, enum rtpcs_sds_m * Of course this is totally wrong here and should be part of the DSA driver. But * implementing it over there requires more tricks than this (e.g. delayed work). */ - if (sds->first_start) - regmap_write(sds->ctrl->map, RTPCS_838X_RST_GLB_CTRL_0, 0x4); + if (!sds->first_start) + return 0; - return 0; + return regmap_write(sds->ctrl->map, RTPCS_838X_RST_GLB_CTRL_0, 0x4); } /* RTL839X */