diff options
author | Antti P Miettinen <amiettinen@nvidia.com> | 2012-04-06 14:21:26 +0300 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2012-04-18 10:40:20 +0530 |
commit | dfd126f41bd2f1cfc4f7429f7b1d35b9497a3151 (patch) | |
tree | 5d6c266edc67263ff442fd8226e5a5a7161786ca /arch/arm/mach-tegra/cpu-tegra3.c | |
parent | 4e3428a29d344ecdefcffd8394ac38453b1f85a3 (diff) |
ARM: tegra: power: Cancel hotplug work upon disable
Cancel hotplug work when auto hotplug gets disabled to prevent
e.g. cpu_up() getting called in LP cluster.
Bug 965777
Change-Id: I058fe6a5e0c2fd3203ce9bc951d0973b60e033e0
Signed-off-by: Antti P Miettinen <amiettinen@nvidia.com>
Reviewed-on: http://git-master/r/95076
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/cpu-tegra3.c')
-rw-r--r-- | arch/arm/mach-tegra/cpu-tegra3.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/cpu-tegra3.c b/arch/arm/mach-tegra/cpu-tegra3.c index 526e80b6636a..4102b109304f 100644 --- a/arch/arm/mach-tegra/cpu-tegra3.c +++ b/arch/arm/mach-tegra/cpu-tegra3.c @@ -147,9 +147,12 @@ static int hp_state_set(const char *arg, const struct kernel_param *kp) if (ret == 0) { if ((hp_state == TEGRA_HP_DISABLED) && - (old_state != TEGRA_HP_DISABLED)) + (old_state != TEGRA_HP_DISABLED)) { + mutex_unlock(tegra3_cpu_lock); + cancel_delayed_work_sync(&hotplug_work); + mutex_lock(tegra3_cpu_lock); pr_info("Tegra auto-hotplug disabled\n"); - else if (hp_state != TEGRA_HP_DISABLED) { + } else if (hp_state != TEGRA_HP_DISABLED) { if (old_state == TEGRA_HP_DISABLED) { pr_info("Tegra auto-hotplug enabled\n"); hp_init_stats(); |