Message ID | 20210118005524.27787-2-digetx@gmail.com |
---|---|
State | Accepted |
Commit | 32715be4fe95fc98762959f8dff6f9f8a39df28f |
Headers | show |
Series | OPP API fixes and improvements | expand |
18.01.2021 10:44, Viresh Kumar пишет: > On 18-01-21, 03:55, Dmitry Osipenko wrote: >> 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: Peter Geis <pgwipeout@gmail.com> >> Tested-by: Nicolas Chauvet <kwizart@gmail.com> >> Tested-by: Matt Merhar <mattmerhar@protonmail.com> >> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> >> --- >> drivers/opp/core.c | 10 ++++------ >> 1 file changed, 4 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/opp/core.c b/drivers/opp/core.c >> index dfc4208d3f87..48618ff3e99e 100644 >> --- a/drivers/opp/core.c >> +++ b/drivers/opp/core.c >> @@ -1527,12 +1527,10 @@ int _opp_add(struct device *dev, struct dev_pm_opp *new_opp, >> mutex_lock(&opp_table->lock); >> head = &opp_table->opp_list; >> >> - if (likely(!rate_not_available)) { >> - ret = _opp_is_duplicate(dev, new_opp, opp_table, &head); >> - if (ret) { >> - mutex_unlock(&opp_table->lock); >> - return ret; >> - } >> + ret = _opp_is_duplicate(dev, new_opp, opp_table, &head); >> + if (ret) { >> + mutex_unlock(&opp_table->lock); >> + return ret; >> } >> >> list_add(&new_opp->node, head); > > Applied. Thanks. > > I am not sending it for 5.11-rc as there shouldn't be any users which > are impacted because of this right now, right ? > right
diff --git a/drivers/opp/core.c b/drivers/opp/core.c index dfc4208d3f87..48618ff3e99e 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c @@ -1527,12 +1527,10 @@ int _opp_add(struct device *dev, struct dev_pm_opp *new_opp, mutex_lock(&opp_table->lock); head = &opp_table->opp_list; - if (likely(!rate_not_available)) { - ret = _opp_is_duplicate(dev, new_opp, opp_table, &head); - if (ret) { - mutex_unlock(&opp_table->lock); - return ret; - } + ret = _opp_is_duplicate(dev, new_opp, opp_table, &head); + if (ret) { + mutex_unlock(&opp_table->lock); + return ret; } list_add(&new_opp->node, head);