aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-omap2/powerdomain.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/powerdomain.c b/arch/arm/mach-omap2/powerdomain.c
index 71d9b75..56aee28 100644
--- a/arch/arm/mach-omap2/powerdomain.c
+++ b/arch/arm/mach-omap2/powerdomain.c
@@ -1089,7 +1089,9 @@ int pwrdm_wakeuplat_set_constraint (struct powerdomain *pwrdm,
}
plist_node_init(&user->node, t);
+ spin_lock(&pwrdm->wakeuplat_lock);
plist_add(&user->node, &pwrdm->wakeuplat_dev_list);
+ spin_unlock(&pwrdm->wakeuplat_lock);
user->node.prio = user->constraint_us = t;
ret = pwrdm_wakeuplat_update_pwrst(pwrdm);
@@ -1136,7 +1138,9 @@ int pwrdm_wakeuplat_release_constraint (struct powerdomain *pwrdm,
goto exit_rls;
}
+ spin_lock(&pwrdm->wakeuplat_lock);
plist_del(&user->node, &pwrdm->wakeuplat_dev_list);
+ spin_unlock(&pwrdm->wakeuplat_lock);
kfree(user);
ret = pwrdm_wakeuplat_update_pwrst(pwrdm);