diff options
-rw-r--r-- | drivers/base/node.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/drivers/base/node.c b/drivers/base/node.c index 44eed11bbdf3..eeae035dadc3 100644 --- a/drivers/base/node.c +++ b/drivers/base/node.c | |||
@@ -271,16 +271,18 @@ struct node node_devices[MAX_NUMNODES]; | |||
271 | */ | 271 | */ |
272 | int register_cpu_under_node(unsigned int cpu, unsigned int nid) | 272 | int register_cpu_under_node(unsigned int cpu, unsigned int nid) |
273 | { | 273 | { |
274 | if (node_online(nid)) { | 274 | struct sys_device *obj; |
275 | struct sys_device *obj = get_cpu_sysdev(cpu); | ||
276 | if (!obj) | ||
277 | return 0; | ||
278 | return sysfs_create_link(&node_devices[nid].sysdev.kobj, | ||
279 | &obj->kobj, | ||
280 | kobject_name(&obj->kobj)); | ||
281 | } | ||
282 | 275 | ||
283 | return 0; | 276 | if (!node_online(nid)) |
277 | return 0; | ||
278 | |||
279 | obj = get_cpu_sysdev(cpu); | ||
280 | if (!obj) | ||
281 | return 0; | ||
282 | |||
283 | return sysfs_create_link(&node_devices[nid].sysdev.kobj, | ||
284 | &obj->kobj, | ||
285 | kobject_name(&obj->kobj)); | ||
284 | } | 286 | } |
285 | 287 | ||
286 | int unregister_cpu_under_node(unsigned int cpu, unsigned int nid) | 288 | int unregister_cpu_under_node(unsigned int cpu, unsigned int nid) |