linux/drivers/s390
Heiko Carstens df7997ab1c [S390] irq: fix service signal external interrupt handling
Interrupt sources like pfault, sclp, dasd_diag and virtio all use the
service signal external interrupt subclass mask in control register 0
to enable and disable the corresponding interrupt.
Because no reference counting is implemented each subsystem thinks it
is the only user of subclass and sets and clears the bit like it wants.
This leads to case that unloading the dasd diag module under z/VM
causes both sclp and pfault interrupts to be masked. The result will
be locked up system sooner or later.
Fix this by introducing a new way to set (register) and clear
(unregister) the service signal subclass mask bit in cr0.
Also convert all drivers.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2011-05-26 09:48:24 +02:00
..
block [S390] irq: fix service signal external interrupt handling 2011-05-26 09:48:24 +02:00
char [S390] irq: fix service signal external interrupt handling 2011-05-26 09:48:24 +02:00
cio [S390] chsc: process channel-path-availability information 2011-05-23 10:24:31 +02:00
crypto [S390] ap: skip device registration on type probe failure 2011-05-23 10:24:29 +02:00
kvm [S390] irq: fix service signal external interrupt handling 2011-05-26 09:48:24 +02:00
net qeth: use ndo_set_features callback for initial setup and recovery 2011-05-18 17:27:39 -04:00
scsi Fix common misspellings 2011-03-31 11:26:23 -03:00
Makefile [S390] split/move machine check handler code 2009-03-26 15:24:10 +01:00