From: Jan Glauber Date: Sun, 30 Oct 2011 14:17:07 +0000 (+0100) Subject: [S390] qdio: reset outbound SBAL error states X-Git-Tag: next-20111101~93^2~14 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=2768b2ded129ee92a8f8bf9049983c6b37ed44bf;p=karo-tx-linux.git [S390] qdio: reset outbound SBAL error states Don't leave outbound SBALs in error state after a target full condition. Reset the state to not initialized to make the error handling consistent across all types of errors. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky --- diff --git a/drivers/s390/cio/qdio_main.c b/drivers/s390/cio/qdio_main.c index 7c567b2268a7..5ec5317f7903 100644 --- a/drivers/s390/cio/qdio_main.c +++ b/drivers/s390/cio/qdio_main.c @@ -450,7 +450,7 @@ static void process_buffer_error(struct qdio_q *q, int count) qperf_inc(q, target_full); DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "OUTFULL FTC:%02x", q->first_to_check); - return; + goto set; } DBF_ERROR("%4x BUF ERROR", SCH_NO(q)); @@ -460,6 +460,7 @@ static void process_buffer_error(struct qdio_q *q, int count) q->sbal[q->first_to_check]->element[14].sflags, q->sbal[q->first_to_check]->element[15].sflags); +set: /* * Interrupts may be avoided as long as the error is present * so change the buffer state immediately to avoid starvation.