Commit e8fc521f authored by paul luse's avatar paul luse Committed by Tomasz Zawadzki
Browse files

lib/idxd: set error status on any completion error.



Not just one with extra available info.  Also remove the extra
read of the error register, not required.

fixes: #1927

Signed-off-by: default avatarpaul luse <paul.e.luse@intel.com>
Change-Id: I28badb45d8cc8d16b72f7019bd2a2044998fc402
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7729


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarZiye Yang <ziye.yang@intel.com>
Reviewed-by: default avatarKrzysztof Karas <krzysztof.karas@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
parent b89ad845
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -1023,7 +1023,6 @@ int
spdk_idxd_process_events(struct spdk_idxd_io_channel *chan)
{
	struct idxd_comp *comp_ctx, *tmp;
	uint64_t sw_error_0;
	int status = 0;
	int rc = 0;

@@ -1034,11 +1033,8 @@ spdk_idxd_process_events(struct spdk_idxd_io_channel *chan)
			rc++;

			if (spdk_unlikely(IDXD_FAILURE(comp_ctx->hw.status))) {
				sw_error_0 = idxd_read_8(chan->idxd, chan->portal, IDXD_SWERR_OFFSET);
				if (IDXD_SW_ERROR(sw_error_0)) {
					_dump_error_reg(chan);
				status = -EINVAL;
				}
				_dump_error_reg(chan);
			}

			switch (comp_ctx->desc->opcode) {