CPU: Fix sysfs cpu/online of offlined CPUs
authorToshi Kani <toshi.kani@hp.com>
Wed, 29 May 2013 22:30:05 +0000 (00:30 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 29 May 2013 22:30:05 +0000 (00:30 +0200)
As reported by Dave Hansen, sysfs cpu/online shows 1 for
offlined CPUs at boot.

Fix this problem by initializing dev.offline with cpu_online()
when registering a CPU.

References: https://lkml.org/lkml/2013/5/29/403
Reported-and-tested-by: Dave Hansen <dave.hansen@intel.com>
Signed-off-by: Toshi Kani <toshi.kani@hp.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/cpu.c

index 7431ba6..1d110dc 100644 (file)
@@ -265,6 +265,7 @@ int __cpuinit register_cpu(struct cpu *cpu, int num)
        cpu->dev.bus = &cpu_subsys;
        cpu->dev.release = cpu_device_release;
        cpu->dev.offline_disabled = !cpu->hotpluggable;
+       cpu->dev.offline = !cpu_online(num);
 #ifdef CONFIG_ARCH_HAS_CPU_AUTOPROBE
        cpu->dev.bus->uevent = arch_cpu_uevent;
 #endif