Now that workqueue can handle work item queueing/cancelling from very early during boot, there is no need to gate cancel_delayed_work_sync() while !keventd_up(). Remove it.
Signed-off-by: Tejun Heo <[email protected]> Cc: Qiao Zhou <[email protected]> Cc: Rafael J. Wysocki <[email protected]> --- Hello, This change depends on an earlier workqueue patch and is followed by a patch to remove keventd_up(). It'd be great if it can be routed through the wq/for-4.9 branch. Thanks. kernel/power/qos.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/kernel/power/qos.c b/kernel/power/qos.c index 168ff44..97b0df7 100644 --- a/kernel/power/qos.c +++ b/kernel/power/qos.c @@ -482,16 +482,7 @@ void pm_qos_update_request(struct pm_qos_request *req, return; } - /* - * This function may be called very early during boot, for example, - * from of_clk_init(), where irq needs to stay disabled. - * cancel_delayed_work_sync() assumes that irq is enabled on - * invocation and re-enables it on return. Avoid calling it until - * workqueue is initialized. - */ - if (keventd_up()) - cancel_delayed_work_sync(&req->work); - + cancel_delayed_work_sync(&req->work); __pm_qos_update_request(req, new_value); } EXPORT_SYMBOL_GPL(pm_qos_update_request); -- 2.7.4

