Fix fast path array index which is used for passing L2 handles to RSS
indirection table. Currently, it is using the local copy of indirection
table. When the RX queue configuration changes the local copy becomes
invalid.

Fixes: 69d7ba88f1a1 ("net/qede/base: use L2-handles for RSS configuration")
Cc: sta...@dpdk.org

Signed-off-by: Rasesh Mody <rasesh.m...@cavium.com>
---
 drivers/net/qede/qede_ethdev.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 3206cc6..6e9e76d 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -2210,7 +2210,7 @@ int qede_rss_hash_update(struct rte_eth_dev *eth_dev,
        vport_update_params.vport_id = 0;
        /* pass the L2 handles instead of qids */
        for (i = 0 ; i < ECORE_RSS_IND_TABLE_SIZE ; i++) {
-               idx = qdev->rss_ind_table[i];
+               idx = ECORE_RSS_IND_TABLE_SIZE % QEDE_RSS_COUNT(qdev);
                rss_params.rss_ind_table[i] = qdev->fp_array[idx].rxq->handle;
        }
        vport_update_params.rss_params = &rss_params;
-- 
1.7.10.3

Reply via email to