diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-10-20 14:31:00 -0700 |
---|---|---|
committer | Dave Jones <davej@redhat.com> | 2006-10-21 01:33:12 -0400 |
commit | 914f7c31b0bea0ccf3bf474d0b99d803f7985097 (patch) | |
tree | 06c8ff4bf0f12170904bf681ffaedd14f368a7c8 /drivers/cpufreq/cpufreq_conservative.c | |
parent | 95dd722700dc9bbb000d51cab07dde48720e9178 (diff) | |
download | op-kernel-dev-914f7c31b0bea0ccf3bf474d0b99d803f7985097.zip op-kernel-dev-914f7c31b0bea0ccf3bf474d0b99d803f7985097.tar.gz |
[CPUFREQ] handle sysfs errors
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'drivers/cpufreq/cpufreq_conservative.c')
-rw-r--r-- | drivers/cpufreq/cpufreq_conservative.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/cpufreq/cpufreq_conservative.c b/drivers/cpufreq/cpufreq_conservative.c index c4c578d..8fe13ec 100644 --- a/drivers/cpufreq/cpufreq_conservative.c +++ b/drivers/cpufreq/cpufreq_conservative.c @@ -453,6 +453,7 @@ static int cpufreq_governor_dbs(struct cpufreq_policy *policy, unsigned int cpu = policy->cpu; struct cpu_dbs_info_s *this_dbs_info; unsigned int j; + int rc; this_dbs_info = &per_cpu(cpu_dbs_info, cpu); @@ -469,6 +470,13 @@ static int cpufreq_governor_dbs(struct cpufreq_policy *policy, break; mutex_lock(&dbs_mutex); + + rc = sysfs_create_group(&policy->kobj, &dbs_attr_group); + if (rc) { + mutex_unlock(&dbs_mutex); + return rc; + } + for_each_cpu_mask(j, policy->cpus) { struct cpu_dbs_info_s *j_dbs_info; j_dbs_info = &per_cpu(cpu_dbs_info, j); @@ -481,7 +489,7 @@ static int cpufreq_governor_dbs(struct cpufreq_policy *policy, this_dbs_info->enable = 1; this_dbs_info->down_skip = 0; this_dbs_info->requested_freq = policy->cur; - sysfs_create_group(&policy->kobj, &dbs_attr_group); + dbs_enable++; /* * Start the timerschedule work, when this governor |