aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/qdio_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/cio/qdio_main.c')
-rw-r--r--drivers/s390/cio/qdio_main.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/s390/cio/qdio_main.c b/drivers/s390/cio/qdio_main.c
index 6621de94f3ad..4c0109900c74 100644
--- a/drivers/s390/cio/qdio_main.c
+++ b/drivers/s390/cio/qdio_main.c
@@ -1492,7 +1492,13 @@ static int handle_outbound(struct qdio_q *q, unsigned int callflags,
1492 qperf_inc(q, fast_requeue); 1492 qperf_inc(q, fast_requeue);
1493 1493
1494out: 1494out:
1495 tasklet_schedule(&q->tasklet); 1495 /* in case of SIGA errors we must process the error immediately */
1496 if (used >= q->u.out.scan_threshold || rc)
1497 tasklet_schedule(&q->tasklet);
1498 else
1499 /* free the SBALs in case of no further traffic */
1500 if (!timer_pending(&q->u.out.timer))
1501 mod_timer(&q->u.out.timer, jiffies + HZ);
1496 return rc; 1502 return rc;
1497} 1503}
1498 1504