From 29760c8e6d3a3d02a23439f62b7e663e0c38eb3b Mon Sep 17 00:00:00 2001
From: Mathew McBride <matt@traverse.com.au>
Date: Mon, 7 Aug 2023 01:41:08 +0000
Subject: [PATCH] board: ten64: add missing error checks for retimer power on

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@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.39.5