aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk/tegra/clk-dfll.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clk/tegra/clk-dfll.c')
-rw-r--r--drivers/clk/tegra/clk-dfll.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/clk/tegra/clk-dfll.c b/drivers/clk/tegra/clk-dfll.c
index c2ff859ee0e8..c4e3a52e225b 100644
--- a/drivers/clk/tegra/clk-dfll.c
+++ b/drivers/clk/tegra/clk-dfll.c
@@ -682,11 +682,17 @@ static int find_lut_index_for_rate(struct tegra_dfll *td, unsigned long rate)
682 struct dev_pm_opp *opp; 682 struct dev_pm_opp *opp;
683 int i, uv; 683 int i, uv;
684 684
685 rcu_read_lock();
686
685 opp = dev_pm_opp_find_freq_ceil(td->soc->dev, &rate); 687 opp = dev_pm_opp_find_freq_ceil(td->soc->dev, &rate);
686 if (IS_ERR(opp)) 688 if (IS_ERR(opp)) {
689 rcu_read_unlock();
687 return PTR_ERR(opp); 690 return PTR_ERR(opp);
691 }
688 uv = dev_pm_opp_get_voltage(opp); 692 uv = dev_pm_opp_get_voltage(opp);
689 693
694 rcu_read_unlock();
695
690 for (i = 0; i < td->i2c_lut_size; i++) { 696 for (i = 0; i < td->i2c_lut_size; i++) {
691 if (regulator_list_voltage(td->vdd_reg, td->i2c_lut[i]) == uv) 697 if (regulator_list_voltage(td->vdd_reg, td->i2c_lut[i]) == uv)
692 return i; 698 return i;