dma/idxd: fix error code for PCI device commands

When sending a command to an idxd device via PCI BAR, the response from
HW is checked to ensure it was successful. The response was incorrectly
being negated before being returned by the function, meaning error codes
cannot be checked against the HW specification.

This patch fixes the return values of the function by removing the
negation.

Fixes: 9449330a84 ("dma/idxd: create dmadev instances on PCI probe")
Fixes: 452c1916b0 ("dma/idxd: fix truncated error code in status check")
Cc: stable@dpdk.org

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Acked-by: Conor Walsh <conor.walsh@intel.com>
This commit is contained in:
Kevin Laatz 2022-04-08 15:16:55 +01:00 committed by Thomas Monjalon
parent aaee1d15cb
commit f217dbff20

View File

@ -38,13 +38,13 @@ idxd_pci_dev_command(struct idxd_dmadev *idxd, enum rte_idxd_cmds command)
IDXD_PMD_ERR("Timeout waiting for command response from HW");
rte_spinlock_unlock(&idxd->u.pci->lk);
err_code &= CMDSTATUS_ERR_MASK;
return -err_code;
return err_code;
}
} while (err_code & CMDSTATUS_ACTIVE_MASK);
rte_spinlock_unlock(&idxd->u.pci->lk);
err_code &= CMDSTATUS_ERR_MASK;
return -err_code;
return err_code;
}
static uint32_t *