summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2021-08-27 20:27:01 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2021-08-27 20:27:01 +0200
commit7ee5fd12e8cac91bdec6de8417b030ed05d5d7ee (patch)
tree4a96846b554e972d79c14545ab553d5c64a1f960 /drivers
parent3c5a272202c28c1f9309566f206ba40787246149 (diff)
parent1f8b66d9654b21ec227a7884bcf739c70d9d27a7 (diff)
Merge branch 'pm-opp'
* pm-opp: opp: core: Check for pending links before reading required_opp pointers
Diffstat (limited to 'drivers')
-rw-r--r--drivers/opp/core.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/opp/core.c b/drivers/opp/core.c
index 5543c54dacc5..04b4691a8aac 100644
--- a/drivers/opp/core.c
+++ b/drivers/opp/core.c
@@ -893,6 +893,10 @@ static int _set_required_opps(struct device *dev,
if (!required_opp_tables)
return 0;
+ /* required-opps not fully initialized yet */
+ if (lazy_linking_pending(opp_table))
+ return -EBUSY;
+
/*
* We only support genpd's OPPs in the "required-opps" for now, as we
* don't know much about other use cases. Error out if the required OPP
@@ -903,10 +907,6 @@ static int _set_required_opps(struct device *dev,
return -ENOENT;
}
- /* required-opps not fully initialized yet */
- if (lazy_linking_pending(opp_table))
- return -EBUSY;
-
/* Single genpd case */
if (!genpd_virt_devs)
return _set_required_opp(dev, dev, opp, 0);