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@xxxxxxxxx> > Tested-by: Nicolas Chauvet <kwizart@xxxxxxxxx> > Tested-by: Matt Merhar <mattmerhar@xxxxxxxxxxxxxx> > Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> > --- > 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 ? -- viresh