Hi Konrad, > If cpufreq_register_driver() fails we would free the acpi driver > related structures but not free the ones allocated > by acpi_cpufreq_boost_init() function. This meant that as > the driver error-ed out and a CPU online/offline event came > we would crash and burn as one of the CPU notifiers would point > to garbage. >
Thanks for spotting this bug. My bad. > This fixes a regression that commit > cfc9c8ed03e4d908f2388af8815f44c87b503aaf "acpi-cpufreq: Adjust the > code to use the common boost attribute" introduced. > > CC: Lukasz Majewski <[email protected]> > CC: Myungjoo Ham <[email protected]> > CC: Viresh Kumar <[email protected]> > CC: Rafael J. Wysocki <[email protected]> > CC: Boris Ostrovsky <[email protected]> > Signed-off-by: Konrad Rzeszutek Wilk <[email protected]> > --- > drivers/cpufreq/acpi-cpufreq.c | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/cpufreq/acpi-cpufreq.c > b/drivers/cpufreq/acpi-cpufreq.c index 79e5608..3e856d6 100644 > --- a/drivers/cpufreq/acpi-cpufreq.c > +++ b/drivers/cpufreq/acpi-cpufreq.c > @@ -969,9 +969,10 @@ static int __init acpi_cpufreq_init(void) > acpi_cpufreq_boost_init(); > > ret = cpufreq_register_driver(&acpi_cpufreq_driver); > - if (ret) > + if (ret) { > free_acpi_perf_data(); > - > + acpi_cpufreq_boost_exit(); > + } > return ret; > } > Acked-by: Lukasz Majewski <[email protected]> -- Best regards, Lukasz Majewski Samsung R&D Institute Poland (SRPOL) | Linux Platform Group -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

