Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 19726cec authored by Heiko Carstens's avatar Heiko Carstens Committed by Martin Schwidefsky
Browse files

[S390] cpuinfo: use get_online_cpus() instead of preempt_disable()



Use get_online_cpus() instead of preempt_disable() to make sure cpus
don't go offline while accessing their per cpu data.
The preempt_disable() stuff is old code which was used before
get_online_cpus() was available.

Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 974de4d7
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@
#include <linux/smp.h>
#include <linux/seq_file.h>
#include <linux/delay.h>

#include <linux/cpu.h>
#include <asm/elf.h>
#include <asm/lowcore.h>
#include <asm/param.h>
@@ -47,7 +47,6 @@ static int show_cpuinfo(struct seq_file *m, void *v)
	int i;

	s390_adjust_jiffies();
	preempt_disable();
	if (!n) {
		seq_printf(m, "vendor_id       : IBM/S390\n"
			   "# processors    : %i\n"
@@ -60,7 +59,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
				seq_printf(m, "%s ", hwcap_str[i]);
		seq_puts(m, "\n");
	}

	get_online_cpus();
	if (cpu_online(n)) {
		struct cpuid *id = &per_cpu(cpu_id, n);
		seq_printf(m, "processor %li: "
@@ -69,7 +68,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
			   "machine = %04X\n",
			   n, id->version, id->ident, id->machine);
	}
	preempt_enable();
	put_online_cpus();
	return 0;
}