When DCF configures rx_queues, it may cause the pointer of
rx_queues to go out of bounds.

This patch expands the scope of the judgment condition to
fix this issue.

Fixes: 4b0d391f0eab ("net/ice: add queue config in DCF")
Cc: sta...@dpdk.org

Signed-off-by: Jie Wang <jie1x.w...@intel.com>
---
 drivers/net/ice/ice_dcf.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ice/ice_dcf.c b/drivers/net/ice/ice_dcf.c
index 4c2e0c7216..45820a0a82 100644
--- a/drivers/net/ice/ice_dcf.c
+++ b/drivers/net/ice/ice_dcf.c
@@ -880,13 +880,13 @@ ice_dcf_configure_queues(struct ice_dcf_hw *hw)
                        vc_qp->txq.ring_len = txq[i]->nb_tx_desc;
                        vc_qp->txq.dma_ring_addr = txq[i]->tx_ring_dma;
                }
-               vc_qp->rxq.vsi_id = hw->vsi_res->vsi_id;
-               vc_qp->rxq.queue_id = i;
-               vc_qp->rxq.max_pkt_size = rxq[i]->max_pkt_len;
 
                if (i >= hw->eth_dev->data->nb_rx_queues)
                        continue;
 
+               vc_qp->rxq.vsi_id = hw->vsi_res->vsi_id;
+               vc_qp->rxq.queue_id = i;
+               vc_qp->rxq.max_pkt_size = rxq[i]->max_pkt_len;
                vc_qp->rxq.ring_len = rxq[i]->nb_rx_desc;
                vc_qp->rxq.dma_ring_addr = rxq[i]->rx_ring_dma;
                vc_qp->rxq.databuffer_size = rxq[i]->rx_buf_len;
-- 
2.25.1

Reply via email to