summary refs log tree commit diff
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)
downloadlinux-7ee5fd12e8cac91bdec6de8417b030ed05d5d7ee.tar.gz
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);