linux/drivers/s390
Julian Wiedmann 64e03ff726 s390/qdio: reset old sbal_state flags
When allocating a new AOB fails, handle_outbound() is still capable of
transmitting the selected buffer (just without async completion).

But if a previous transfer on this queue slot used async completion, its
sbal_state flags field is still set to QDIO_OUTBUF_STATE_FLAG_PENDING.
So when the upper layer driver sees this stale flag, it expects an async
completion that never happens.

Fix this by unconditionally clearing the flags field.

Fixes: 104ea556ee ("qdio: support asynchronous delivery of storage blocks")
Cc: <stable@vger.kernel.org> #v3.2+
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2018-06-25 10:14:37 +02:00
..
block Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2018-06-19 07:44:51 +09:00
char treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
cio s390/qdio: reset old sbal_state flags 2018-06-25 10:14:37 +02:00
crypto treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
net treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
scsi SCSI misc on 20180610 2018-06-10 13:01:12 -07:00
virtio virtio/s390: implement PM operations for virtio_ccw 2018-02-14 14:34:09 +02:00
Makefile kbuild: rename built-in.o to built-in.a 2018-03-26 02:01:19 +09:00