Only the first detected crash needed to be handled, so change to ordered workqueue to avoid unnecessary multi active work at the same time. This will reduce the pm_relax unnecessary concurrency. Signed-off-by: Maria Yu <quic_aiquny@xxxxxxxxxxx> --- drivers/remoteproc/remoteproc_core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c index c2d0af048c69..4b973eea10bb 100644 --- a/drivers/remoteproc/remoteproc_core.c +++ b/drivers/remoteproc/remoteproc_core.c @@ -2728,8 +2728,8 @@ static void __exit rproc_exit_panic(void) static int __init remoteproc_init(void) { - rproc_recovery_wq = alloc_workqueue("rproc_recovery_wq", - WQ_UNBOUND | WQ_FREEZABLE, 0); + rproc_recovery_wq = alloc_ordered_workqueue("rproc_recovery_wq", + WQ_FREEZABLE, 0); if (!rproc_recovery_wq) { pr_err("remoteproc: creation of rproc_recovery_wq failed\n"); return -ENOMEM; -- 2.17.1