diff options
Diffstat (limited to 'arch/arm/mach-omap2/pm.c')
-rw-r--r-- | arch/arm/mach-omap2/pm.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c index 28706696a341..d383f71b4867 100644 --- a/arch/arm/mach-omap2/pm.c +++ b/arch/arm/mach-omap2/pm.c | |||
@@ -189,14 +189,17 @@ static int __init omap2_set_init_voltage(char *vdd_name, char *clk_name, | |||
189 | freq = clk->rate; | 189 | freq = clk->rate; |
190 | clk_put(clk); | 190 | clk_put(clk); |
191 | 191 | ||
192 | rcu_read_lock(); | ||
192 | opp = opp_find_freq_ceil(dev, &freq); | 193 | opp = opp_find_freq_ceil(dev, &freq); |
193 | if (IS_ERR(opp)) { | 194 | if (IS_ERR(opp)) { |
195 | rcu_read_unlock(); | ||
194 | pr_err("%s: unable to find boot up OPP for vdd_%s\n", | 196 | pr_err("%s: unable to find boot up OPP for vdd_%s\n", |
195 | __func__, vdd_name); | 197 | __func__, vdd_name); |
196 | goto exit; | 198 | goto exit; |
197 | } | 199 | } |
198 | 200 | ||
199 | bootup_volt = opp_get_voltage(opp); | 201 | bootup_volt = opp_get_voltage(opp); |
202 | rcu_read_unlock(); | ||
200 | if (!bootup_volt) { | 203 | if (!bootup_volt) { |
201 | pr_err("%s: unable to find voltage corresponding " | 204 | pr_err("%s: unable to find voltage corresponding " |
202 | "to the bootup OPP for vdd_%s\n", __func__, vdd_name); | 205 | "to the bootup OPP for vdd_%s\n", __func__, vdd_name); |