diff options
-rw-r--r-- | drivers/cpufreq/cpufreq.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 10b014982381..109d62ccf651 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c | |||
@@ -627,7 +627,7 @@ static int cpufreq_add_dev (struct sys_device * sys_dev) | |||
627 | 627 | ||
628 | ret = kobject_register(&policy->kobj); | 628 | ret = kobject_register(&policy->kobj); |
629 | if (ret) | 629 | if (ret) |
630 | goto err_out; | 630 | goto err_out_driver_exit; |
631 | 631 | ||
632 | /* set up files for this cpu device */ | 632 | /* set up files for this cpu device */ |
633 | drv_attr = cpufreq_driver->attr; | 633 | drv_attr = cpufreq_driver->attr; |
@@ -673,6 +673,10 @@ err_out_unregister: | |||
673 | kobject_unregister(&policy->kobj); | 673 | kobject_unregister(&policy->kobj); |
674 | wait_for_completion(&policy->kobj_unregister); | 674 | wait_for_completion(&policy->kobj_unregister); |
675 | 675 | ||
676 | err_out_driver_exit: | ||
677 | if (cpufreq_driver->exit) | ||
678 | cpufreq_driver->exit(policy); | ||
679 | |||
676 | err_out: | 680 | err_out: |
677 | kfree(policy); | 681 | kfree(policy); |
678 | 682 | ||