From b8031687e12e8d59938582ecdbcd31b9e03f5c81 Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Mon, 17 Dec 2007 16:19:58 -0800 Subject: [PATCH] --- yaml --- r: 74977 b: refs/heads/master c: bd6cba53c524dccf72900435d29722b22f61d835 h: refs/heads/master i: 74975: 67a2941d756ed8965685c266a7ede8b6f22c5206 v: v3 --- [refs] | 2 +- trunk/drivers/cpufreq/cpufreq.c | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 476028806f02..94ef521cc813 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9548b209a37397f3036aa5bd3d5b4d3b725aa11a +refs/heads/master: bd6cba53c524dccf72900435d29722b22f61d835 diff --git a/trunk/drivers/cpufreq/cpufreq.c b/trunk/drivers/cpufreq/cpufreq.c index 5e626b12b97e..79581fab82d6 100644 --- a/trunk/drivers/cpufreq/cpufreq.c +++ b/trunk/drivers/cpufreq/cpufreq.c @@ -841,19 +841,25 @@ static int cpufreq_add_dev (struct sys_device * sys_dev) drv_attr = cpufreq_driver->attr; while ((drv_attr) && (*drv_attr)) { ret = sysfs_create_file(&policy->kobj, &((*drv_attr)->attr)); - if (ret) + if (ret) { + unlock_policy_rwsem_write(cpu); goto err_out_driver_exit; + } drv_attr++; } if (cpufreq_driver->get){ ret = sysfs_create_file(&policy->kobj, &cpuinfo_cur_freq.attr); - if (ret) + if (ret) { + unlock_policy_rwsem_write(cpu); goto err_out_driver_exit; + } } if (cpufreq_driver->target){ ret = sysfs_create_file(&policy->kobj, &scaling_cur_freq.attr); - if (ret) + if (ret) { + unlock_policy_rwsem_write(cpu); goto err_out_driver_exit; + } } spin_lock_irqsave(&cpufreq_driver_lock, flags);