summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra
diff options
context:
space:
mode:
authorAntti P Miettinen <amiettinen@nvidia.com>2012-04-06 14:21:26 +0300
committerRohan Somvanshi <rsomvanshi@nvidia.com>2012-04-12 22:59:56 -0700
commit3221334dcce85a2f47eb6b2c5c0f0a9e5a9f1f97 (patch)
tree11e7ef41ec37a25214cf960698625fb9ddb58e53 /arch/arm/mach-tegra
parent8873b7662b507bd006bc5054ac08310c98aecbdc (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')
-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 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();