From: Alvin Zhang <alvinx.zh...@intel.com>

RSS look-up table initialization is done incorrectly due to divide-by-zero
error.
Add a check to rx-queue count.

Fixes: 50370662b727 ("net/ice: support device and queue ops")
Cc: sta...@dpdk.org

Signed-off-by: Alvin Zhang <alvinx.zh...@intel.com>
---
 drivers/net/ice/ice_ethdev.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index 9a5d6a5..9cef73e 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -3268,10 +3268,12 @@ static int ice_init_rss(struct ice_pf *pf)
        if (dev->data->dev_conf.rxmode.mq_mode & ETH_MQ_RX_RSS_FLAG)
                dev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;
 
-       ret = ice_init_rss(pf);
-       if (ret) {
-               PMD_DRV_LOG(ERR, "Failed to enable rss for PF");
-               return ret;
+       if (dev->data->nb_rx_queues) {
+               ret = ice_init_rss(pf);
+               if (ret) {
+                       PMD_DRV_LOG(ERR, "Failed to enable rss for PF");
+                       return ret;
+               }
        }
 
        return 0;
-- 
1.8.3.1

Reply via email to