The judgement of first do not need to be in the critical region. So move it out.
Signed-off-by: Hui Su <sh_...@163.com> --- kernel/async.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/async.c b/kernel/async.c index 33258e6e20f8..9d33ffcc84c7 100644 --- a/kernel/async.c +++ b/kernel/async.c @@ -96,10 +96,10 @@ static async_cookie_t lowest_in_progress(struct async_domain *domain) struct async_entry, global_list); } + spin_unlock_irqrestore(&async_lock, flags); if (first) ret = first->cookie; - spin_unlock_irqrestore(&async_lock, flags); return ret; } -- 2.25.1