diff options
-rw-r--r-- | drivers/opp/of.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/opp/of.c b/drivers/opp/of.c index 698a92c3c17b..1813f5ad5fa2 100644 --- a/drivers/opp/of.c +++ b/drivers/opp/of.c | |||
@@ -617,9 +617,12 @@ static struct dev_pm_opp *_opp_add_static_v2(struct opp_table *opp_table, | |||
617 | /* OPP to select on device suspend */ | 617 | /* OPP to select on device suspend */ |
618 | if (of_property_read_bool(np, "opp-suspend")) { | 618 | if (of_property_read_bool(np, "opp-suspend")) { |
619 | if (opp_table->suspend_opp) { | 619 | if (opp_table->suspend_opp) { |
620 | dev_warn(dev, "%s: Multiple suspend OPPs found (%lu %lu)\n", | 620 | /* Pick the OPP with higher rate as suspend OPP */ |
621 | __func__, opp_table->suspend_opp->rate, | 621 | if (new_opp->rate > opp_table->suspend_opp->rate) { |
622 | new_opp->rate); | 622 | opp_table->suspend_opp->suspend = false; |
623 | new_opp->suspend = true; | ||
624 | opp_table->suspend_opp = new_opp; | ||
625 | } | ||
623 | } else { | 626 | } else { |
624 | new_opp->suspend = true; | 627 | new_opp->suspend = true; |
625 | opp_table->suspend_opp = new_opp; | 628 | opp_table->suspend_opp = new_opp; |