@@ -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;
It may or may not work but *hopefully* won't hurt... well we hope. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> --- hw/fsi-master.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)