diff options
-rw-r--r-- | drivers/idle/intel_idle.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c index 8420ba10a434..862346bd053a 100644 --- a/drivers/idle/intel_idle.c +++ b/drivers/idle/intel_idle.c | |||
@@ -1245,12 +1245,19 @@ static int __init intel_idle_init(void) | |||
1245 | 1245 | ||
1246 | static void __exit intel_idle_exit(void) | 1246 | static void __exit intel_idle_exit(void) |
1247 | { | 1247 | { |
1248 | struct cpuidle_device *dev; | ||
1249 | int i; | ||
1250 | |||
1248 | cpu_notifier_register_begin(); | 1251 | cpu_notifier_register_begin(); |
1249 | 1252 | ||
1250 | if (lapic_timer_reliable_states != LAPIC_TIMER_ALWAYS_RELIABLE) | 1253 | if (lapic_timer_reliable_states != LAPIC_TIMER_ALWAYS_RELIABLE) |
1251 | on_each_cpu(__setup_broadcast_timer, (void *)false, 1); | 1254 | on_each_cpu(__setup_broadcast_timer, (void *)false, 1); |
1252 | __unregister_cpu_notifier(&cpu_hotplug_notifier); | 1255 | __unregister_cpu_notifier(&cpu_hotplug_notifier); |
1253 | intel_idle_cpuidle_devices_uninit(); | 1256 | |
1257 | for_each_possible_cpu(i) { | ||
1258 | dev = per_cpu_ptr(intel_idle_cpuidle_devices, i); | ||
1259 | cpuidle_unregister_device(dev); | ||
1260 | } | ||
1254 | 1261 | ||
1255 | cpu_notifier_register_done(); | 1262 | cpu_notifier_register_done(); |
1256 | 1263 | ||