[S390] qdio: Refresh buffer states for IQDIO Asynchronous output queue
Hipersocket Multicast queue works asynchronously. When sending buffers, the buffer state change may happen delayed. The tasklet for checking changes in the outbound queue excluded IQDIO async queues from this process. This created either a hang situation when the queue ran full, or presented a hang situation a interface close time. The tasklet processing is changed to include IQDIO async queues when requesting buffer state refresh. Signed-off-by: Klaus D. Wacker <kdwacker@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
f276730f8d
commit
37cd0a007f
|
@ -742,7 +742,8 @@ qdio_get_outbound_buffer_frontier(struct qdio_q *q)
|
|||
first_not_to_check=f+qdio_min(atomic_read(&q->number_of_buffers_used),
|
||||
(QDIO_MAX_BUFFERS_PER_Q-1));
|
||||
|
||||
if ((!q->is_iqdio_q)&&(!q->hydra_gives_outbound_pcis))
|
||||
if (((!q->is_iqdio_q) && (!q->hydra_gives_outbound_pcis)) ||
|
||||
(q->queue_type == QDIO_IQDIO_QFMT_ASYNCH))
|
||||
SYNC_MEMORY;
|
||||
|
||||
check_next:
|
||||
|
|
Loading…
Reference in New Issue
Block a user