diff options
author | NeilBrown <neilb@suse.de> | 2012-01-09 13:14:12 +1100 |
---|---|---|
committer | Kevin Hilman <khilman@ti.com> | 2012-02-14 10:55:54 -0800 |
commit | 6369fd41fc6075a547394d95608ca7ff0e878698 (patch) | |
tree | 33aa90aad43f9630b8c31fbf8edbf797fbc6e317 /arch/arm/mach-omap2 | |
parent | d65b4e98d7ea3038b767b70fe8be959b2913f16d (diff) | |
download | blackbird-op-linux-6369fd41fc6075a547394d95608ca7ff0e878698.tar.gz blackbird-op-linux-6369fd41fc6075a547394d95608ca7ff0e878698.zip |
ARM: OMAP: add RCU locking to omap2_set_init_voltage.
opp_find_freq_ceil and opp_get_voltage are documented as requiring
rcu_lock to be held. So hold it.
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-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 1881fe915149..5a65dd04aa38 100644 --- a/arch/arm/mach-omap2/pm.c +++ b/arch/arm/mach-omap2/pm.c @@ -174,14 +174,17 @@ static int __init omap2_set_init_voltage(char *vdd_name, char *clk_name, freq = clk->rate; clk_put(clk); + rcu_read_lock(); opp = opp_find_freq_ceil(dev, &freq); if (IS_ERR(opp)) { + rcu_read_unlock(); pr_err("%s: unable to find boot up OPP for vdd_%s\n", __func__, vdd_name); goto exit; } bootup_volt = opp_get_voltage(opp); + rcu_read_unlock(); if (!bootup_volt) { pr_err("%s: unable to find voltage corresponding " "to the bootup OPP for vdd_%s\n", __func__, vdd_name); |