diff --git a/kernel/async.c b/kernel/async.c index 97373380c9e7be42ad7126c6a5d436f7954cc0aa..64cc916299a5bb0f6558cc56c243f7d2b50bf9aa 100644 --- a/kernel/async.c +++ b/kernel/async.c @@ -206,7 +206,9 @@ EXPORT_SYMBOL_GPL(async_schedule_special); void async_synchronize_full(void) { - async_synchronize_cookie(next_cookie); + do { + async_synchronize_cookie(next_cookie); + } while (!list_empty(&async_running) || !list_empty(&async_pending)); } EXPORT_SYMBOL_GPL(async_synchronize_full);