FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.

» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Kernel

LinkBack Thread Tools
Old 01-08-2012, 07:48 PM
Ben Hutchings
Default topology: Check for missing CPU devices

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,

To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 1326055714.13595.309.camel@deadeye">http://lists.debian.org/1326055714.13595.309.camel@deadeye

Thread Tools

All times are GMT. The time now is 12:25 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org