summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2011-12-27 11:25:45 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2011-12-27 11:25:48 +0100
commit272f01bf9b6da93f49fcca2656c24da8d2cfcc09 (patch)
treecdb6549a79d1d5774072a0f765c3392c124e2816 /arch
parent371de6e4e0042adf4f9b54c414154f57414ddd37 (diff)
downloadlinux-3.10-272f01bf9b6da93f49fcca2656c24da8d2cfcc09.tar.gz
linux-3.10-272f01bf9b6da93f49fcca2656c24da8d2cfcc09.tar.bz2
linux-3.10-272f01bf9b6da93f49fcca2656c24da8d2cfcc09.zip
[S390] irq: fix accounting of external call/emergency signal
Mask the extint_code parameter of the smp external interrupt handler to get the interruption code. Otherwise emergency call interrupts erroneously might be accounted as emergency signal interrupts. 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/smp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
index 3ea872890da..ee327365e43 100644
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -187,7 +187,7 @@ static void do_ext_call_interrupt(unsigned int ext_int_code,
{
unsigned long bits;
- if (ext_int_code == 0x1202)
+ if ((ext_int_code & 0xffff) == 0x1202)
kstat_cpu(smp_processor_id()).irqs[EXTINT_EXC]++;
else
kstat_cpu(smp_processor_id()).irqs[EXTINT_EMS]++;