diff options
author | Antti P Miettinen <amiettinen@nvidia.com> | 2012-04-06 14:21:26 +0300 |
---|---|---|
committer | Rohan Somvanshi <rsomvanshi@nvidia.com> | 2012-04-12 22:59:56 -0700 |
commit | 3221334dcce85a2f47eb6b2c5c0f0a9e5a9f1f97 (patch) | |
tree | 11e7ef41ec37a25214cf960698625fb9ddb58e53 | |
parent | 8873b7662b507bd006bc5054ac08310c98aecbdc (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>
-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 76ff94435a13..b6579b6b5427 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(); |