X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fraw%2Fdpaa2_cmdif%2Fdpaa2_cmdif.c;h=997d1c873991b7e2522c1415aae38dde63bcf46a;hb=83c99c366e49aa9204665a52419016150eba9ea6;hp=05960cca95ed32600046ad8404794af7990fef6f;hpb=5ca606ea484546c733bb04f301283b1ffef8922c;p=dpdk.git diff --git a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c b/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c index 05960cca95..997d1c8739 100644 --- a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c +++ b/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright 2018 NXP + * Copyright 2018-2019 NXP */ #include @@ -26,9 +26,6 @@ int dpaa2_cmdif_logtype; /* CMDIF driver name */ #define DPAA2_CMDIF_PMD_NAME dpaa2_dpci -/* CMDIF driver object */ -static struct rte_vdev_driver dpaa2_cmdif_drv; - /* * This API provides the DPCI device ID in 'attr_value'. * The device ID shall be passed by GPP to the AIOP using CMDIF commands. @@ -65,6 +62,7 @@ dpaa2_cmdif_enqueue_bufs(struct rte_rawdev *dev, struct qbman_fd fd; struct qbman_eq_desc eqdesc; struct qbman_swp *swp; + uint32_t retry_count = 0; int ret; RTE_SET_USED(count); @@ -103,11 +101,15 @@ dpaa2_cmdif_enqueue_bufs(struct rte_rawdev *dev, ret = qbman_swp_enqueue_multiple(swp, &eqdesc, &fd, NULL, 1); if (ret < 0 && ret != -EBUSY) DPAA2_CMDIF_ERR("Transmit failure with err: %d\n", ret); - } while (ret == -EBUSY); + retry_count++; + } while ((ret == -EBUSY) && (retry_count < DPAA2_MAX_TX_RETRY_COUNT)); + + if (ret < 0) + return ret; DPAA2_CMDIF_DP_DEBUG("Successfully transmitted a packet\n"); - return 0; + return 1; } static int