mirror of
https://github.com/Fishwaldo/opensbi.git
synced 2025-03-15 19:31:32 +00:00
lib: sbi_hsm: Put the resume_pending hart in the interruptible hart mask
Current interruptible hart mask doesn't include the hart which HSM state is SBI_HSM_STATE_RESUME_PENDING. So when there is a request to send an IPI to the hart which is in the resume process, this hart would miss the IPI forever. Put the SBI_HSM_STATE_RESUME_PENDING hart in the interruptible hart mask to fix the issue. Signed-off-by: Nick Hu <nick.hu@sifive.com> Reviewed-by: Xiang W <wxjstz@126.com> Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
parent
06968103dc
commit
a25fc74699
1 changed files with 2 additions and 1 deletions
|
@ -128,7 +128,8 @@ int sbi_hsm_hart_interruptible_mask(const struct sbi_domain *dom,
|
|||
|
||||
hstate = __sbi_hsm_hart_get_state(hbase + i);
|
||||
if (hstate == SBI_HSM_STATE_STARTED ||
|
||||
hstate == SBI_HSM_STATE_SUSPENDED)
|
||||
hstate == SBI_HSM_STATE_SUSPENDED ||
|
||||
hstate == SBI_HSM_STATE_RESUME_PENDING)
|
||||
*out_hmask |= hmask;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue