The array pointers were used without index. Fixes: b9083ea5e084 ("net/dpaa: further push mode optimizations") Cc: sta...@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agra...@nxp.com> Acked-by: Shreyansh Jain <shreyansh.j...@nxp.com> --- drivers/bus/dpaa/base/qbman/qman.c | 5 +++-- drivers/bus/dpaa/base/qbman/qman_driver.c | 5 +---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/bus/dpaa/base/qbman/qman.c b/drivers/bus/dpaa/base/qbman/qman.c index 2b97671..2810fdd 100644 --- a/drivers/bus/dpaa/base/qbman/qman.c +++ b/drivers/bus/dpaa/base/qbman/qman.c @@ -1087,7 +1087,7 @@ unsigned int qman_portal_poll_rx(unsigned int poll_limit, shadow[rx_number]->fd.opaque = be32_to_cpu(dq[rx_number]->fd.opaque); #else - shadow = dq; + shadow[rx_number] = dq[rx_number]; #endif /* SDQCR: context_b points to the FQ */ @@ -1095,7 +1095,8 @@ unsigned int qman_portal_poll_rx(unsigned int poll_limit, fq[rx_number] = qman_fq_lookup_table[be32_to_cpu( dq[rx_number]->contextB)]; #else - fq[rx_number] = (void *)(uintptr_t)be32_to_cpu(dq->contextB); + fq[rx_number] = (void *)be32_to_cpu( + dq[rx_number]->contextB); #endif fq[rx_number]->cb.dqrr_prepare(shadow[rx_number], &bufs[rx_number]); diff --git a/drivers/bus/dpaa/base/qbman/qman_driver.c b/drivers/bus/dpaa/base/qbman/qman_driver.c index 7cfa8ee..66838d2 100644 --- a/drivers/bus/dpaa/base/qbman/qman_driver.c +++ b/drivers/bus/dpaa/base/qbman/qman_driver.c @@ -246,7 +246,6 @@ int fsl_qman_portal_destroy(struct qman_portal *qp) int qman_global_init(void) { const struct device_node *dt_node; - int ret = 0; size_t lenp; const u32 *chanid; static int ccsr_map_fd; @@ -352,9 +351,7 @@ int qman_global_init(void) qman_clk = be32_to_cpu(*clk); #ifdef CONFIG_FSL_QMAN_FQ_LOOKUP - ret = qman_setup_fq_lookup_table(CONFIG_FSL_QMAN_FQ_LOOKUP_MAX); - if (ret) - return ret; + return qman_setup_fq_lookup_table(CONFIG_FSL_QMAN_FQ_LOOKUP_MAX); #endif return 0; } -- 2.7.4