Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[CPUFREQ] Bugfix: Call driver exit in cpufreq_add_dev error path

A minor fix for cpufreq_add_dev() error path. We need to call driver->exit()
if driver_init() call has succeeded.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>

authored by

Venkatesh Pallipadi and committed by
Dave Jones
8085e1f1 6b39374a

+5 -1
+5 -1
drivers/cpufreq/cpufreq.c
··· 627 627 628 628 ret = kobject_register(&policy->kobj); 629 629 if (ret) 630 - goto err_out; 630 + goto err_out_driver_exit; 631 631 632 632 /* set up files for this cpu device */ 633 633 drv_attr = cpufreq_driver->attr; ··· 672 672 673 673 kobject_unregister(&policy->kobj); 674 674 wait_for_completion(&policy->kobj_unregister); 675 + 676 + err_out_driver_exit: 677 + if (cpufreq_driver->exit) 678 + cpufreq_driver->exit(policy); 675 679 676 680 err_out: 677 681 kfree(policy);