diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2008-05-15 10:52:39 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-05-15 10:52:41 -0400 |
commit | 8dd79cb1051723496bbdcea2247e49567cedb3ac (patch) | |
tree | 3cd9bd7b2dacb725e5b38b78494d6685dc527681 /arch | |
parent | 85cb185dad54be308c3f3a6068dd7d418b8b53e4 (diff) |
[S390] show_interrupts: prevent cpu hotplug when walking cpu_online_map.
Surround all the code withing show_interrupts() with
get/put_online_cpus() to prevent strange results wrt cpu hotplug.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/s390/kernel/irq.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c index c59a86dca584..e7c5bfb7c755 100644 --- a/arch/s390/kernel/irq.c +++ b/arch/s390/kernel/irq.c | |||
@@ -25,6 +25,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
25 | static const char *intrclass_names[] = { "EXT", "I/O", }; | 25 | static const char *intrclass_names[] = { "EXT", "I/O", }; |
26 | int i = *(loff_t *) v, j; | 26 | int i = *(loff_t *) v, j; |
27 | 27 | ||
28 | get_online_cpus(); | ||
28 | if (i == 0) { | 29 | if (i == 0) { |
29 | seq_puts(p, " "); | 30 | seq_puts(p, " "); |
30 | for_each_online_cpu(j) | 31 | for_each_online_cpu(j) |
@@ -43,7 +44,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
43 | seq_putc(p, '\n'); | 44 | seq_putc(p, '\n'); |
44 | 45 | ||
45 | } | 46 | } |
46 | 47 | put_online_cpus(); | |
47 | return 0; | 48 | return 0; |
48 | } | 49 | } |
49 | 50 | ||