diff --git a/module/accel/idxd/accel_engine_idxd.c b/module/accel/idxd/accel_engine_idxd.c index 5babc47ae..9bcaab28a 100644 --- a/module/accel/idxd/accel_engine_idxd.c +++ b/module/accel/idxd/accel_engine_idxd.c @@ -144,7 +144,6 @@ _process_single_task(struct spdk_io_channel *ch, struct spdk_accel_task *task) chan->state = IDXD_CHANNEL_PAUSED; return -EBUSY; } - chan->num_outstanding++; switch (task->op_code) { case ACCEL_OPCODE_MEMMOVE: @@ -178,6 +177,10 @@ _process_single_task(struct spdk_io_channel *ch, struct spdk_accel_task *task) break; } + if (rc == 0) { + chan->num_outstanding++; + } + return rc; }