Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1372820

[PATCH 11/13] intel_idle: Clean up all registered devices on exit.

From Len Brown <lenb@kernel.org>
Newsgroups linux.kernel
Subject [PATCH 11/13] intel_idle: Clean up all registered devices on exit.
Date 2016-04-06 23:10 +0200
Message-ID <rl2S6-1tt-11@gated-at.bofh.it> (permalink)
References <rl2S6-1tt-7@gated-at.bofh.it>
Organization Intel Open Source Technology Center

Show all headers | View raw


From: Richard Cochran <rcochran@linutronix.de>

This driver registers cpuidle devices when a CPU comes online, but it
leaves the registrations in place when a CPU goes offline.  The module
exit code only unregisters the currently online CPUs, leaving the
devices for offline CPUs dangling.

This patch changes the driver to clean up all registrations on exit,
even those from CPUs that are offline.

Signed-off-by: Richard Cochran <rcochran@linutronix.de>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/idle/intel_idle.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c
index 45e93f4..7575699 100644
--- a/drivers/idle/intel_idle.c
+++ b/drivers/idle/intel_idle.c
@@ -1382,12 +1382,19 @@ static int __init intel_idle_init(void)
 
 static void __exit intel_idle_exit(void)
 {
+	struct cpuidle_device *dev;
+	int i;
+
 	cpu_notifier_register_begin();
 
 	if (lapic_timer_reliable_states != LAPIC_TIMER_ALWAYS_RELIABLE)
 		on_each_cpu(__setup_broadcast_timer, (void *)false, 1);
 	__unregister_cpu_notifier(&cpu_hotplug_notifier);
-	intel_idle_cpuidle_devices_uninit();
+
+	for_each_possible_cpu(i) {
+		dev = per_cpu_ptr(intel_idle_cpuidle_devices, i);
+		cpuidle_unregister_device(dev);
+	}
 
 	cpu_notifier_register_done();
 
-- 
2.8.0.rc4.16.g56331f8

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[PATCH 11/13] intel_idle: Clean up all registered devices on exit. Len Brown <lenb@kernel.org> - 2016-04-06 23:10 +0200

csiph-web