diff options
Diffstat (limited to 'recipes-kernel/linux/linux-toradex-rt-4.9-2.3.x/002g.patch')
-rw-r--r-- | recipes-kernel/linux/linux-toradex-rt-4.9-2.3.x/002g.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-toradex-rt-4.9-2.3.x/002g.patch b/recipes-kernel/linux/linux-toradex-rt-4.9-2.3.x/002g.patch new file mode 100644 index 0000000..714e97f --- /dev/null +++ b/recipes-kernel/linux/linux-toradex-rt-4.9-2.3.x/002g.patch @@ -0,0 +1,53 @@ +--- b/kernel/cpu.c ++++ a/kernel/cpu.c +@@ -1917,15 +1917,6 @@ + kobject_uevent(&dev->kobj, KOBJ_OFFLINE); + } + +-static void cpuhp_online_cpu_device(unsigned int cpu) +-{ +- struct device *dev = get_cpu_device(cpu); +- +- dev->offline = false; +- /* Tell user space about the state change */ +- kobject_uevent(&dev->kobj, KOBJ_ONLINE); +-} +- + static int cpuhp_smt_disable(enum cpuhp_smt_control ctrlval) + { + int cpu, ret = 0; +@@ -1958,24 +1949,11 @@ + return ret; + } + ++static void cpuhp_smt_enable(void) +-static int cpuhp_smt_enable(void) + { +- int cpu, ret = 0; +- + cpu_maps_update_begin(); + cpu_smt_control = CPU_SMT_ENABLED; +- for_each_present_cpu(cpu) { +- /* Skip online CPUs and CPUs on offline nodes */ +- if (cpu_online(cpu) || !node_online(cpu_to_node(cpu))) +- continue; +- ret = _cpu_up(cpu, 0, CPUHP_ONLINE); +- if (ret) +- break; +- /* See comment in cpuhp_smt_disable() */ +- cpuhp_online_cpu_device(cpu); +- } + cpu_maps_update_done(); +- return ret; + } + + static ssize_t +@@ -2006,7 +1984,7 @@ + if (ctrlval != cpu_smt_control) { + switch (ctrlval) { + case CPU_SMT_ENABLED: ++ cpuhp_smt_enable(); +- ret = cpuhp_smt_enable(); + break; + case CPU_SMT_DISABLED: + case CPU_SMT_FORCE_DISABLED: |