From 322b59847534cbbf484190b0957fb32bee36e2ec Mon Sep 17 00:00:00 2001 From: Joshua Yeong Date: Mon, 19 Feb 2024 15:14:06 +0800 Subject: [PATCH] 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 Reviewed-by: Xiang W Reviewed-by: Anup Patel --- lib/sbi/sbi_hsm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/sbi/sbi_hsm.c b/lib/sbi/sbi_hsm.c index 3d60ceb749..be48d64eb7 100644 --- a/lib/sbi/sbi_hsm.c +++ b/lib/sbi/sbi_hsm.c @@ -360,6 +360,10 @@ int sbi_hsm_hart_start(struct sbi_scratch *scratch, 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;