diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
index 23f2c4cd48d1d7a93f8e183b0f3652faa3dedb0b..4dabf5077c48575b06a4a25041fca33a8a8fb344 100644
--- a/drivers/base/cpu.c
+++ b/drivers/base/cpu.c
@@ -240,6 +240,7 @@ int __cpuinit register_cpu(struct cpu *cpu, int num)
 	int error;
 
 	cpu->node_id = cpu_to_node(num);
+	memset(&cpu->dev, 0x00, sizeof(struct device));
 	cpu->dev.id = num;
 	cpu->dev.bus = &cpu_subsys;
 	cpu->dev.release = cpu_device_release;