WSL2-Linux-Kernel/drivers/s390/cio
Sebastian Ott d53c51f261 s390/cio: fix accidental interrupt enabling during resume
Since commit 9f3d6d7 chsc_get_channel_measurement_chars is called with
interrupts disabled during resume from hibernate. Since this function
used spin_unlock_irq, interrupts have been enabled accidentally. Fix
this by using the irqsave variant.

Since we can't guarantee the IRQ-enablement state for all (future/
external) callers, change the locking in related functions to prevent
similar bugs in the future.

Fixes: 9f3d6d7 ("s390/cio: update measurement characteristics")
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Reviewed-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-09-30 09:13:11 +02:00
..
Makefile
airq.c
blacklist.c
blacklist.h
ccwgroup.c
ccwreq.c
chp.c s390/cio: fix premature wakeup during chp configure 2016-07-31 05:27:57 -04:00
chp.h
chsc.c s390/cio: fix accidental interrupt enabling during resume 2016-09-30 09:13:11 +02:00
chsc.h s390/chsc: improve channel path descriptor determination 2016-07-15 14:32:01 +02:00
chsc_sch.c s390/chsc: fix ioctl CHSC_INFO_CU command 2016-07-15 14:31:58 +02:00
chsc_sch.h
cio.c
cio.h s390: cio: remove redundant cio_cancel declaration 2016-08-24 09:23:56 +02:00
cio_debug.h
cmf.c s390/cio: allow to reset channel measurement block 2016-07-14 13:01:49 +02:00
crw.c
css.c
css.h
device.c s390/cio: remove subchannel_id from ccw_device_private 2016-08-08 15:41:33 +02:00
device.h
device_fsm.c
device_id.c
device_ops.c s390/cio/device_ops: fix kernel doc 2016-07-15 14:31:57 +02:00
device_pgid.c
device_status.c s390/cio: stop using subchannel_id from ccw_device_private 2016-08-08 15:41:32 +02:00
eadm_sch.c
eadm_sch.h
fcx.c
idset.c
idset.h
io_sch.h s390/cio: remove subchannel_id from ccw_device_private 2016-08-08 15:41:33 +02:00
ioasm.c s390/cio: use basic blocks for i/o inline assemblies 2016-06-28 09:32:34 +02:00
ioasm.h
isc.c
itcw.c
orb.h
qdio.h
qdio_debug.c
qdio_debug.h
qdio_main.c s390/qdio: avoid reschedule of outbound tasklet once killed 2016-08-08 16:01:28 +02:00
qdio_setup.c
qdio_thinint.c
scm.c
trace.c
trace.h