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: paul luse <paul.e.luse@intel.com>
Change-Id: I28badb45d8cc8d16b72f7019bd2a2044998fc402
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7729
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ziye Yang <ziye.yang@intel.com>
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
paul luse 2021-05-03 18:25:11 -04:00 committed by Tomasz Zawadzki
parent b89ad84532
commit e8fc521f7d

View File

@ -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;
}
status = -EINVAL;
_dump_error_reg(chan);
}
switch (comp_ctx->desc->opcode) {