X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fdma%2Fidxd%2Fidxd_pci.c;h=9ca1ec64e9e1378c11ffdb028235634c564a8005;hb=90a2ec4ae81f2ef52f7c14bfc9307e75a4127fa4;hp=1aabacee412323a4a304e56108fdfd52736475e0;hpb=9459de4edc992b149c91f4d1b21b802b254747fa;p=dpdk.git diff --git a/drivers/dma/idxd/idxd_pci.c b/drivers/dma/idxd/idxd_pci.c index 1aabacee41..9ca1ec64e9 100644 --- a/drivers/dma/idxd/idxd_pci.c +++ b/drivers/dma/idxd/idxd_pci.c @@ -22,7 +22,7 @@ const struct rte_pci_id pci_id_idxd_map[] = { static inline int idxd_pci_dev_command(struct idxd_dmadev *idxd, enum rte_idxd_cmds command) { - uint8_t err_code; + uint32_t err_code; uint16_t qid = idxd->qid; int i = 0; @@ -37,7 +37,8 @@ idxd_pci_dev_command(struct idxd_dmadev *idxd, enum rte_idxd_cmds command) if (++i >= 1000) { IDXD_PMD_ERR("Timeout waiting for command response from HW"); rte_spinlock_unlock(&idxd->u.pci->lk); - return err_code; + err_code &= CMDSTATUS_ERR_MASK; + return -err_code; } } while (err_code & CMDSTATUS_ACTIVE_MASK); rte_spinlock_unlock(&idxd->u.pci->lk);