mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-17 23:15:52 +00:00
PM / OPP replace kfree_rcu() with call_srcu() in opp_set_availability()
This existed before we introduced call_srcu() in opp layer to synchronize with srcu_notifier_call_chain() while removing OPPs. And is a potential bug which wasn't noticed earlier. Let fix it as well by using the right API to free OPP. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
129eec55df
commit
b4037aaa58
@ -641,7 +641,7 @@ static int opp_set_availability(struct device *dev, unsigned long freq,
|
|||||||
|
|
||||||
list_replace_rcu(&opp->node, &new_opp->node);
|
list_replace_rcu(&opp->node, &new_opp->node);
|
||||||
mutex_unlock(&dev_opp_list_lock);
|
mutex_unlock(&dev_opp_list_lock);
|
||||||
kfree_rcu(opp, rcu_head);
|
call_srcu(&dev_opp->srcu_head.srcu, &opp->rcu_head, kfree_opp_rcu);
|
||||||
|
|
||||||
/* Notify the change of the OPP availability */
|
/* Notify the change of the OPP availability */
|
||||||
if (availability_req)
|
if (availability_req)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user