linux/drivers/s390
Michael Holzheu f71ad62a26 [S390] tape: Fix race condition in tape block device driver
Due to incorrect function call sequence it can happen that a tape block
request is finished before the request is taken from the block request queue.

The following sequence leads to that condition:
 * tapeblock_start_request() -> start CCW program
 * Request finishes -> IO interrupt
 * tapeblock_end_request()
 * end_that_request_last()

If blkdev_dequeue_request() has not been called before end_that_request_last(),
a kernel bug is triggered in end_that_request_last() because the request is
still queued. To solve that problem blkdev_dequeue_request() has to be called
before starting the CCW program.

Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2008-05-30 10:03:33 +02:00
..
block [S390] dasd: fix timeout handling in interrupt handler 2008-05-15 16:52:40 +02:00
char [S390] tape: Fix race condition in tape block device driver 2008-05-30 10:03:33 +02:00
cio [S390] blacklist.c: removed duplicated include 2008-05-15 16:52:39 +02:00
crypto [S390] zcrypt: Comments and kernel-doc cleanup 2008-04-17 07:47:06 +02:00
kvm s390: KVM guest: fix compile error 2008-05-18 14:34:15 +03:00
net netiucv: Fix missing driver attributes. 2008-04-29 01:56:36 -04:00
scsi [SCSI] Let scsi_cmnd->cmnd use request->cmd buffer 2008-05-02 10:18:22 -05:00
ebcdic.c
Makefile s390: KVM guest: virtio device support, and kvm hypercalls 2008-04-27 12:00:51 +03:00
s390_rdev.c
s390mach.c [S390] s390mach compile warning 2008-05-07 09:23:02 +02:00
s390mach.h [S390] Fix a lot of sparse warnings. 2008-04-17 07:47:06 +02:00
sysinfo.c [S390] Add new fields for System z10 to /proc/sysinfo 2008-04-17 07:47:01 +02:00