diff options
author | Toshi Kani <toshi.kani@hp.com> | 2013-08-29 20:22:06 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-09-25 04:38:09 -0400 |
commit | f6913f990273a1fbfc0ec501d4998faa4f1ebae6 (patch) | |
tree | 2f184030b3c2ea5949da5f622a5a81933e4cd8d2 /arch/x86/kernel/topology.c | |
parent | 4a10c2ac2f368583138b774ca41fac4207911983 (diff) |
hotplug / x86: Fix online state in cpu0 debug interface
_debug_hotplug_cpu() is a debug interface that puts cpu0 offline during
boot-up when CONFIG_DEBUG_HOTPLUG_CPU0 is set. After cpu0 is put offline
in this interface, however, /sys/devices/system/cpu/cpu0/online still
shows 1 (online).
This patch fixes _debug_hotplug_cpu() to update dev->offline when CPU
online/offline operation succeeded.
Signed-off-by: Toshi Kani <toshi.kani@hp.com>
Acked-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'arch/x86/kernel/topology.c')
-rw-r--r-- | arch/x86/kernel/topology.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/kernel/topology.c b/arch/x86/kernel/topology.c index 6e60b5fe2244..5823bbd668f4 100644 --- a/arch/x86/kernel/topology.c +++ b/arch/x86/kernel/topology.c | |||
@@ -72,16 +72,19 @@ int __ref _debug_hotplug_cpu(int cpu, int action) | |||
72 | ret = cpu_down(cpu); | 72 | ret = cpu_down(cpu); |
73 | if (!ret) { | 73 | if (!ret) { |
74 | pr_info("CPU %u is now offline\n", cpu); | 74 | pr_info("CPU %u is now offline\n", cpu); |
75 | dev->offline = true; | ||
75 | kobject_uevent(&dev->kobj, KOBJ_OFFLINE); | 76 | kobject_uevent(&dev->kobj, KOBJ_OFFLINE); |
76 | } else | 77 | } else |
77 | pr_debug("Can't offline CPU%d.\n", cpu); | 78 | pr_debug("Can't offline CPU%d.\n", cpu); |
78 | break; | 79 | break; |
79 | case 1: | 80 | case 1: |
80 | ret = cpu_up(cpu); | 81 | ret = cpu_up(cpu); |
81 | if (!ret) | 82 | if (!ret) { |
83 | dev->offline = false; | ||
82 | kobject_uevent(&dev->kobj, KOBJ_ONLINE); | 84 | kobject_uevent(&dev->kobj, KOBJ_ONLINE); |
83 | else | 85 | } else { |
84 | pr_debug("Can't online CPU%d.\n", cpu); | 86 | pr_debug("Can't online CPU%d.\n", cpu); |
87 | } | ||
85 | break; | 88 | break; |
86 | default: | 89 | default: |
87 | ret = -EINVAL; | 90 | ret = -EINVAL; |