|
@@ -110,13 +110,16 @@ static int omap_target(struct cpufreq_policy *policy,
|
|
freq = ret;
|
|
freq = ret;
|
|
|
|
|
|
if (mpu_reg) {
|
|
if (mpu_reg) {
|
|
|
|
+ rcu_read_lock();
|
|
opp = opp_find_freq_ceil(mpu_dev, &freq);
|
|
opp = opp_find_freq_ceil(mpu_dev, &freq);
|
|
if (IS_ERR(opp)) {
|
|
if (IS_ERR(opp)) {
|
|
|
|
+ rcu_read_unlock();
|
|
dev_err(mpu_dev, "%s: unable to find MPU OPP for %d\n",
|
|
dev_err(mpu_dev, "%s: unable to find MPU OPP for %d\n",
|
|
__func__, freqs.new);
|
|
__func__, freqs.new);
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
volt = opp_get_voltage(opp);
|
|
volt = opp_get_voltage(opp);
|
|
|
|
+ rcu_read_unlock();
|
|
tol = volt * OPP_TOLERANCE / 100;
|
|
tol = volt * OPP_TOLERANCE / 100;
|
|
volt_old = regulator_get_voltage(mpu_reg);
|
|
volt_old = regulator_get_voltage(mpu_reg);
|
|
}
|
|
}
|