lib: sbi_hsm: Restor hart state to stop when fails to start
Hart state should change back to hart stop when hsm_device_hart_start()
or sbi_ipi_raw_send() fails to perform hart start.
Signed-off-by: Joshua Yeong <joshua.yeong@starfivetech.com>
Reviewed-by: Xiang W <wxjstz@126.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
diff --git a/lib/sbi/sbi_hsm.c b/lib/sbi/sbi_hsm.c
index 3d60ceb..be48d64 100644
--- a/lib/sbi/sbi_hsm.c
+++ b/lib/sbi/sbi_hsm.c
@@ -360,6 +360,10 @@
if (!rc)
return 0;
+
+ /* If it fails to start, change hart state back to stop */
+ __sbi_hsm_hart_change_state(hdata, SBI_HSM_STATE_START_PENDING,
+ SBI_HSM_STATE_STOPPED);
err:
hsm_start_ticket_release(hdata);
return rc;