Commit 32715be4 authored by Dmitry Osipenko's avatar Dmitry Osipenko Committed by Viresh Kumar

opp: Fix adding OPP entries in a wrong order if rate is unavailable

Fix adding OPP entries in a wrong (opposite) order if OPP rate is
unavailable. The OPP comparison was erroneously skipped, thus OPPs
were left unsorted.
Tested-by: default avatarPeter Geis <pgwipeout@gmail.com>
Tested-by: default avatarNicolas Chauvet <kwizart@gmail.com>
Tested-by: default avatarMatt Merhar <mattmerhar@protonmail.com>
Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
parent 1048ba83
...@@ -1527,12 +1527,10 @@ int _opp_add(struct device *dev, struct dev_pm_opp *new_opp, ...@@ -1527,12 +1527,10 @@ int _opp_add(struct device *dev, struct dev_pm_opp *new_opp,
mutex_lock(&opp_table->lock); mutex_lock(&opp_table->lock);
head = &opp_table->opp_list; head = &opp_table->opp_list;
if (likely(!rate_not_available)) { ret = _opp_is_duplicate(dev, new_opp, opp_table, &head);
ret = _opp_is_duplicate(dev, new_opp, opp_table, &head); if (ret) {
if (ret) { mutex_unlock(&opp_table->lock);
mutex_unlock(&opp_table->lock); return ret;
return ret;
}
} }
list_add(&new_opp->node, head); list_add(&new_opp->node, head);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment