diff options
| -rw-r--r-- | drivers/devfreq/governor_cpufreq.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/devfreq/governor_cpufreq.c b/drivers/devfreq/governor_cpufreq.c index 01a6003cc391..fc4da03201f2 100644 --- a/drivers/devfreq/governor_cpufreq.c +++ b/drivers/devfreq/governor_cpufreq.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, The Linux Foundation. All rights reserved. + * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -53,6 +53,7 @@ struct devfreq_node { }; static LIST_HEAD(devfreq_list); static DEFINE_MUTEX(state_lock); +static DEFINE_MUTEX(cpufreq_reg_lock); #define show_attr(name) \ static ssize_t show_##name(struct device *dev, \ @@ -240,7 +241,7 @@ static int register_cpufreq(void) unsigned int cpu; struct cpufreq_policy *policy; - mutex_lock(&state_lock); + mutex_lock(&cpufreq_reg_lock); if (cpufreq_cnt) goto cnt_not_zero; @@ -271,7 +272,7 @@ out: cnt_not_zero: if (!ret) cpufreq_cnt++; - mutex_unlock(&state_lock); + mutex_unlock(&cpufreq_reg_lock); return ret; } @@ -280,7 +281,7 @@ static int unregister_cpufreq(void) int ret = 0; int cpu; - mutex_lock(&state_lock); + mutex_lock(&cpufreq_reg_lock); if (cpufreq_cnt > 1) goto out; @@ -300,7 +301,7 @@ static int unregister_cpufreq(void) out: cpufreq_cnt--; - mutex_unlock(&state_lock); + mutex_unlock(&cpufreq_reg_lock); return ret; } |
