瀏覽代碼

[S390] qdio: continue polling for buffer state ERROR

Inbound traffic handling may hang if next buffer to check is in
state ERROR, polling is stopped and the final check for further
available inbound buffers disregards buffers in state ERROR.
This patch includes state ERROR when checking availability of
more inbound buffers.

Cc: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Ursula Braun 15 年之前
父節點
當前提交
4c52228d1b
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/s390/cio/qdio_main.c

+ 1 - 1
drivers/s390/cio/qdio_main.c

@@ -531,7 +531,7 @@ static inline int qdio_inbound_q_done(struct qdio_q *q)
 	qdio_siga_sync_q(q);
 	qdio_siga_sync_q(q);
 	get_buf_state(q, q->first_to_check, &state, 0);
 	get_buf_state(q, q->first_to_check, &state, 0);
 
 
-	if (state == SLSB_P_INPUT_PRIMED)
+	if (state == SLSB_P_INPUT_PRIMED || state == SLSB_P_INPUT_ERROR)
 		/* more work coming */
 		/* more work coming */
 		return 0;
 		return 0;