From: Heiko Carstens Date: Mon, 23 May 2011 08:24:50 +0000 (+0200) Subject: [S390] cpu hotplug: fix external interrupt subclass mask handling X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=5bd418784a2764a8d9de177a5462bfc008fd334a;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git [S390] cpu hotplug: fix external interrupt subclass mask handling When disabling a cpu all external interrupt subclass masks in control register 0 get cleared. However instead of the service signal subclass mask bit an unused bit got cleared. Accidently (or luckily) the service subclass mask gets cleared with the pfault_fini() call that happens just before the rest of the subclass mask bits get cleared. Signed-off-by: Heiko Carstens --- diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index fed71dcaa0d..f8e85ecbc45 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c @@ -654,8 +654,8 @@ int __cpu_disable(void) /* disable all external interrupts */ cr_parms.orvals[0] = 0; - cr_parms.andvals[0] = ~(1 << 15 | 1 << 14 | 1 << 13 | 1 << 12 | - 1 << 11 | 1 << 10 | 1 << 6 | 1 << 4); + cr_parms.andvals[0] = ~(1 << 15 | 1 << 14 | 1 << 13 | 1 << 11 | + 1 << 10 | 1 << 9 | 1 << 6 | 1 << 4); /* disable all I/O interrupts */ cr_parms.orvals[6] = 0; cr_parms.andvals[6] = ~(1 << 31 | 1 << 30 | 1 << 29 | 1 << 28 |