summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cpu-tegra3.c
diff options
context:
space:
mode:
authorAntti P Miettinen <amiettinen@nvidia.com>2012-04-06 14:21:26 +0300
committerVarun Wadekar <vwadekar@nvidia.com>2012-04-18 10:40:20 +0530
commitdfd126f41bd2f1cfc4f7429f7b1d35b9497a3151 (patch)
tree5d6c266edc67263ff442fd8226e5a5a7161786ca /arch/arm/mach-tegra/cpu-tegra3.c
parent4e3428a29d344ecdefcffd8394ac38453b1f85a3 (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.c7
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();