cpufreq: Remove CPU hotplug callbacks only if they were initialized
authorBoris Ostrovsky <boris.ostrovsky@oracle.com>
Thu, 15 Dec 2016 15:00:58 +0000 (10:00 -0500)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 21 Dec 2016 01:52:52 +0000 (02:52 +0100)
commit2a8fa123d9a1d2ca391eefc81fea747108a5081f
tree3f8c8f9d337a5fa88828b923c3d457ad1b035750
parent1358e038fac2628730842c817c7c156647166461
cpufreq: Remove CPU hotplug callbacks only if they were initialized

Since CPU hotplug callbacks are requested for CPUHP_AP_ONLINE_DYN state,
successful callback initialization will result in cpuhp_setup_state()
returning a positive value. Therefore acpi_cpufreq_online being zero
indicates that callbacks have not been installed.

This means that acpi_cpufreq_boost_exit() should only remove them if
acpi_cpufreq_online is positive. Trying to call
cpuhp_remove_state_nocalls(0) will cause a BUG().

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/acpi-cpufreq.c