[Skiboot] [PATCH 5/5] fsi-master: On XSCOM errors, try to reset the PIB2OPB bridge

Benjamin Herrenschmidt benh at kernel.crashing.org
Tue Sep 13 14:45:28 AEST 2016


It may or may not work but *hopefully* won't hurt... well we hope.

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
---
 hw/fsi-master.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/fsi-master.c b/hw/fsi-master.c
index a13af44..7de8d51 100644
--- a/hw/fsi-master.c
+++ b/hw/fsi-master.c
@@ -513,8 +513,6 @@ static int64_t mfsi_handle_error(struct mfsi *mfsi, uint32_t port,
 		 port, opb_stat);
 
 	/* First handle stat codes we synthetized */
-	if (opb_stat & OPB_ERR_XSCOM_ERR)
-		return OPAL_HARDWARE;
 	if (opb_stat & OPB_ERR_BAD_OPB_ADDR)
 		return OPAL_PARAMETER;
 
@@ -524,6 +522,9 @@ static int64_t mfsi_handle_error(struct mfsi *mfsi, uint32_t port,
 	/* Reset PIB2OPB */
 	mfsi_reset_pib2opb(mfsi);
 
+	if (opb_stat & OPB_ERR_XSCOM_ERR)
+		return OPAL_HARDWARE;
+
 	/* This one is not supposed to happen but ... */
 	if (opb_stat & OPB_ERR_TIMEOUT_ERR)
 		return OPAL_HARDWARE;
-- 
2.7.4



More information about the Skiboot mailing list