public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] topology: Check for missing CPU devices
@ 2012-01-08 20:48 Ben Hutchings
  2012-01-08 20:55 ` [PATCH 2/2] cpu: Register a generic CPU device on architectures that currently do not Ben Hutchings
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Ben Hutchings @ 2012-01-08 20:48 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Linus Torvalds, Geert Uytterhoeven, Andrew Morton, linux-kernel,
	Linux-Arch, Thorsten Glaser, Debian kernel team, linux-m68k,
	debian-68k

Commit ccbc60d3e19a1b6ae66ca0d89b3da02dde62088b ('topology: Provide
CPU topology in sysfs in !SMP configurations') causes a crash at boot
on a several architectures.  The topology sysfs code assumes that
there is a CPU device for each online CPU whereas some architectures
that do not support SMP or cpufreq do not register any CPU devices.
Check for this before trying to use a device.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/base/topology.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/base/topology.c b/drivers/base/topology.c
index ae989c5..4467c85 100644
--- a/drivers/base/topology.c
+++ b/drivers/base/topology.c
@@ -147,6 +147,8 @@ static int __cpuinit topology_add_dev(unsigned int cpu)
 {
 	struct device *dev = get_cpu_device(cpu);
 
+	if (!dev)
+		return -ENODEV;
 	return sysfs_create_group(&dev->kobj, &topology_attr_group);
 }
 
@@ -154,7 +156,8 @@ static void __cpuinit topology_remove_dev(unsigned int cpu)
 {
 	struct device *dev = get_cpu_device(cpu);
 
-	sysfs_remove_group(&dev->kobj, &topology_attr_group);
+	if (dev)
+		sysfs_remove_group(&dev->kobj, &topology_attr_group);
 }
 
 static int __cpuinit topology_cpu_callback(struct notifier_block *nfb,
-- 
1.7.8.2




^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2012-01-09 20:23 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-08 20:48 [PATCH 1/2] topology: Check for missing CPU devices Ben Hutchings
2012-01-08 20:55 ` [PATCH 2/2] cpu: Register a generic CPU device on architectures that currently do not Ben Hutchings
2012-01-09 20:14   ` Geert Uytterhoeven
2012-01-09  0:18 ` [PATCH 1/2] topology: Check for missing CPU devices Linus Torvalds
2012-01-09  1:06   ` richard -rw- weinberger
2012-01-09  1:29     ` Linus Torvalds
2012-01-09  2:52       ` Ben Hutchings
2012-01-09 14:19         ` Richard Weinberger
2012-01-09 20:15     ` Geert Uytterhoeven
2012-01-09  2:47   ` Ben Hutchings
2012-01-09  2:56     ` Ben Hutchings
2012-01-09 20:23       ` Linus Torvalds
2012-01-09 20:13 ` Geert Uytterhoeven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox