|
@@ -382,8 +382,10 @@ int register_cpu(struct cpu *cpu, int num)
|
|
if (cpu->hotpluggable)
|
|
if (cpu->hotpluggable)
|
|
cpu->dev.groups = hotplugable_cpu_attr_groups;
|
|
cpu->dev.groups = hotplugable_cpu_attr_groups;
|
|
error = device_register(&cpu->dev);
|
|
error = device_register(&cpu->dev);
|
|
- if (error)
|
|
|
|
|
|
+ if (error) {
|
|
|
|
+ put_device(&cpu->dev);
|
|
return error;
|
|
return error;
|
|
|
|
+ }
|
|
|
|
|
|
per_cpu(cpu_sys_devices, num) = &cpu->dev;
|
|
per_cpu(cpu_sys_devices, num) = &cpu->dev;
|
|
register_cpu_under_node(num, cpu_to_node(num));
|
|
register_cpu_under_node(num, cpu_to_node(num));
|