[PATCH 1/1] lib: sbi_hsm: Restor hart state to stop when fails to start

Joshua Yeong joshua.yeong at starfivetech.com
Sun Feb 18 23:14:06 PST 2024


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 at starfivetech.com>
---
 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 3d60ceb..be48d64 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;
-- 
2.25.1




More information about the opensbi mailing list