[S390] show_interrupts: prevent cpu hotplug when walking cpu_online_map.
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Thu, 15 May 2008 14:52:39 +0000 (16:52 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 15 May 2008 14:52:41 +0000 (16:52 +0200)
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>
arch/s390/kernel/irq.c

index c59a86dca5849617ac74428647fe3ddb7834937e..e7c5bfb7c755acf812f563a6c4d2986843fcbd04 100644 (file)
@@ -25,6 +25,7 @@ int show_interrupts(struct seq_file *p, void *v)
        static const char *intrclass_names[] = { "EXT", "I/O", };
        int i = *(loff_t *) v, j;
 
+       get_online_cpus();
        if (i == 0) {
                seq_puts(p, "           ");
                for_each_online_cpu(j)
@@ -43,7 +44,7 @@ int show_interrupts(struct seq_file *p, void *v)
                 seq_putc(p, '\n');
 
         }
-
+       put_online_cpus();
         return 0;
 }