From: Michael Scott Date: Tue, 10 Mar 2015 20:15:02 +0000 (-0700) Subject: PM / QoS: remove duplicate call to pm_qos_update_target X-Git-Url: http://git.mmlx.us/?a=commitdiff_plain;h=8dbaea2b3d24e3a77e6a853ff76c19c5a6052f4e;p=linux-edison.git PM / QoS: remove duplicate call to pm_qos_update_target In 3.10.y backport patch 1dba303727f52ea062580b0a9b3f0c3b462769cf, the logic to call pm_qos_update_target was moved to __pm_qos_update_request. However, the original code was left in function pm_qos_update_request. Currently, if pm_qos_update_request is called where new_value != req->node.prio then pm_qos_update_target will be called twice in a row. Once in pm_qos_update_request and then again in the following call to _pm_qos_update_request. Removing the left over code from pm_qos_update_request stops this second call to pm_qos_update_target where the work of removing / re-adding the new_value in the constraints list would be duplicated. Signed-off-by: Michael Scott Signed-off-by: Greg Kroah-Hartman --- diff --git a/kernel/power/qos.c b/kernel/power/qos.c index 25cf89bc659..8703fc729fb 100644 --- a/kernel/power/qos.c +++ b/kernel/power/qos.c @@ -369,12 +369,6 @@ void pm_qos_update_request(struct pm_qos_request *req, } cancel_delayed_work_sync(&req->work); - - if (new_value != req->node.prio) - pm_qos_update_target( - pm_qos_array[req->pm_qos_class]->constraints, - &req->node, PM_QOS_UPDATE_REQ, new_value); - __pm_qos_update_request(req, new_value); } EXPORT_SYMBOL_GPL(pm_qos_update_request);