From 6e8cbdb64d44ba753829e51cbdbb58983d8105d3 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Wed, 18 Jan 2006 13:40:54 -0800 Subject: [PATCH] --- yaml --- r: 19156 b: refs/heads/master c: f3876c1bc7a23d4712c824f2ef5ec7d138259594 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/cpufreq/cpufreq.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index d5b574d537ec..59131932b2f1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 83933af4720b282f6f6a0b6c05a2a47b4cf08819 +refs/heads/master: f3876c1bc7a23d4712c824f2ef5ec7d138259594 diff --git a/trunk/drivers/cpufreq/cpufreq.c b/trunk/drivers/cpufreq/cpufreq.c index 0675d9f02e34..0a6c4c8642e7 100644 --- a/trunk/drivers/cpufreq/cpufreq.c +++ b/trunk/drivers/cpufreq/cpufreq.c @@ -612,6 +612,7 @@ static int cpufreq_add_dev (struct sys_device * sys_dev) ret = cpufreq_driver->init(policy); if (ret) { dprintk("initialization failed\n"); + mutex_unlock(&policy->lock); goto err_out; } @@ -623,9 +624,10 @@ static int cpufreq_add_dev (struct sys_device * sys_dev) strlcpy(policy->kobj.name, "cpufreq", KOBJ_NAME_LEN); ret = kobject_register(&policy->kobj); - if (ret) + if (ret) { + mutex_unlock(&policy->lock); goto err_out_driver_exit; - + } /* set up files for this cpu device */ drv_attr = cpufreq_driver->attr; while ((drv_attr) && (*drv_attr)) {