Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

s390/qdio: restrict target-full handling to IQDIO

The 'no target buffer empty' error code only applies to HiperSockets.
If this code is reported on a different queue type, be sure to make the
same amount of noise as for any other error code.

Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Reviewed-by: Benjamin Block <bblock@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

authored by

Julian Wiedmann and committed by
Martin Schwidefsky
b23481fb 0b926ac3

+2 -2
+2 -2
drivers/s390/cio/qdio_main.c
··· 431 431 q->qdio_error = QDIO_ERROR_SLSB_STATE; 432 432 433 433 /* special handling for no target buffer empty */ 434 - if ((!q->is_input_q && 435 - (q->sbal[q->first_to_check]->element[15].sflags) == 0x10)) { 434 + if (queue_type(q) == QDIO_IQDIO_QFMT && !q->is_input_q && 435 + q->sbal[q->first_to_check]->element[15].sflags == 0x10) { 436 436 qperf_inc(q, target_full); 437 437 DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "OUTFULL FTC:%02x", 438 438 q->first_to_check);