diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c index 6a2d7d6f..1b50f671 100644 --- a/lib/sbi/sbi_hart.c +++ b/lib/sbi/sbi_hart.c @@ -1037,10 +1037,6 @@ int sbi_hart_reinit(struct sbi_scratch *scratch) if (rc) return rc; - rc = delegate_traps(scratch); - if (rc) - return rc; - return 0; } @@ -1068,6 +1064,10 @@ int sbi_hart_init(struct sbi_scratch *scratch, bool cold_boot) if (rc) return rc; + rc = delegate_traps(scratch); + if (rc) + return rc; + return sbi_hart_reinit(scratch); }