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

Xiang W wxjstz at 126.com
Mon Feb 19 01:35:38 PST 2024


在 2024-02-19星期一的 15:14 +0800,Joshua Yeong写道:
> 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);

This is not needed. Because if hdata->state is not equal to SBI_HSM_STATE_STOPPED,
SBI_HSM_STATE_START_PENDING will not be written.

Regards,
Xiang W

>  err:
>  	hsm_start_ticket_release(hdata);
>  	return rc;
> -- 
> 2.25.1
> 
> 




More information about the opensbi mailing list