[PATCH] board: ten64: add missing error checks for retimer power on

Mathew McBride matt at traverse.com.au
Mon Aug 7 03:41:08 CEST 2023


The retimer reset/power on logic was changed in a recent commit,
however, it neglected to check if the commands sent to the
board microcontroller (to control power to the retimer chip)
actually completed.

Add return checks for these operations so any failures will
be reported to the user.

Signed-off-by: Mathew McBride <matt at traverse.com.au>
Fixes: 7a041fea2 ("board: traverse: ten64: ensure retimer reset
is done on new board revisions")
---
 board/traverse/ten64/ten64.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/board/traverse/ten64/ten64.c b/board/traverse/ten64/ten64.c
index 52daae6e24..df9f0afe1a 100644
--- a/board/traverse/ten64/ten64.c
+++ b/board/traverse/ten64/ten64.c
@@ -383,10 +383,15 @@ static int board_cycle_retimer(struct udevice **retim_dev)
 			puts("(retimer on, resetting...) ");
 
 			ret = misc_call(uc_dev, TEN64_CNTRL_10G_OFF, NULL, 0, NULL, 0);
+			if (ret)
+				return ret;
 			mdelay(1000);
 		}
 
+		/* Turn on the retimer */
 		ret = misc_call(uc_dev, TEN64_CNTRL_10G_ON, NULL, 0, NULL, 0);
+		if (ret)
+			return ret;
 	}
 
 	// Wait for retimer to come back
-- 
2.30.1



More information about the U-Boot mailing list