On Thu, Mar 7, 2013 at 12:36 AM, <dirk.brandewie@xxxxxxxxx> wrote: > From: Dirk Brandewie <dirk.brandewie@xxxxxxxxx> > > If cpufreq_register_driver() fails just free memory that has been > allocated and return. intel_pstate_exit() function is removed since we > are built-in only now there is no reason for a module exit procedure. > > Reported-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > Signed-off-by: Dirk Brandewie <dirk.j.brandewie@xxxxxxxxx> > --- > drivers/cpufreq/intel_pstate.c | 39 +++++++++++---------------------------- > 1 files changed, 11 insertions(+), 28 deletions(-) > > diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c > index 2bfd083..f6dd1e7 100644 > --- a/drivers/cpufreq/intel_pstate.c > +++ b/drivers/cpufreq/intel_pstate.c > @@ -750,37 +750,11 @@ static struct cpufreq_driver intel_pstate_driver = { > .owner = THIS_MODULE, > }; > > -static void intel_pstate_exit(void) > -{ > - int cpu; > - > - sysfs_remove_group(intel_pstate_kobject, > - &intel_pstate_attr_group); > - debugfs_remove_recursive(debugfs_parent); > - > - cpufreq_unregister_driver(&intel_pstate_driver); > - > - if (!all_cpu_data) > - return; > - > - get_online_cpus(); > - for_each_online_cpu(cpu) { > - if (all_cpu_data[cpu]) { > - del_timer_sync(&all_cpu_data[cpu]->timer); > - kfree(all_cpu_data[cpu]); > - } > - } > - > - put_online_cpus(); > - vfree(all_cpu_data); > -} > -module_exit(intel_pstate_exit); > - > static int __initdata no_load; > > static int __init intel_pstate_init(void) > { > - int rc = 0; > + int cpu, rc = 0; > const struct x86_cpu_id *id; > > if (no_load) > @@ -805,7 +779,16 @@ static int __init intel_pstate_init(void) > intel_pstate_sysfs_expose_params(); > return rc; > out: > - intel_pstate_exit(); > + get_online_cpus(); > + for_each_online_cpu(cpu) { > + if (all_cpu_data[cpu]) { > + del_timer_sync(&all_cpu_data[cpu]->timer); > + kfree(all_cpu_data[cpu]); > + } > + } > + > + put_online_cpus(); > + vfree(all_cpu_data); > return -ENODEV; > } > device_initcall(intel_pstate_init); Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html