diff --git a/lib/iscsi/conn.c b/lib/iscsi/conn.c index ae27c159c..6c1d8957e 100644 --- a/lib/iscsi/conn.c +++ b/lib/iscsi/conn.c @@ -314,6 +314,7 @@ spdk_iscsi_conn_free_pdu(struct spdk_iscsi_conn *conn, struct spdk_iscsi_pdu *pd conn->data_in_cnt--; spdk_iscsi_task_put(spdk_iscsi_task_get_primary(pdu->task)); } + spdk_iscsi_conn_handle_queued_datain_tasks(conn); } } else if (pdu->bhs.opcode == ISCSI_OP_SCSI_RSP && pdu->task->scsi.status != SPDK_SCSI_STATUS_GOOD) { @@ -1012,8 +1013,6 @@ process_read_task_completion(struct spdk_iscsi_conn *conn, spdk_iscsi_task_put(task); } process_completed_read_subtask_list(conn, primary); - - spdk_iscsi_conn_handle_queued_datain_tasks(conn); } void