]> git.droids-corp.org - dpdk.git/commitdiff
net/ice: check Rx queue number on RSS init
authorDapeng Yu <dapengx.yu@intel.com>
Wed, 23 Dec 2020 05:30:18 +0000 (13:30 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 8 Jan 2021 15:03:06 +0000 (16:03 +0100)
When RSS is initialized, rx queues number is used as denominator to set
default value into the RSS lookup table. If it is zero, there will be
error of being divided by 0. So add value check to avoid the error.

Fixes: 50370662b727 ("net/ice: support device and queue ops")
Cc: stable@dpdk.org
Signed-off-by: Dapeng Yu <dapengx.yu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/ice/ice_ethdev.c

index 9a5d6a559fb9efbf51e0e9941b900736b02941a6..bbb8c14606f7ff617bcbd62fd9ce090732cb099b 100644 (file)
@@ -3182,6 +3182,12 @@ static int ice_init_rss(struct ice_pf *pf)
        vsi->rss_key_size = ICE_AQC_GET_SET_RSS_KEY_DATA_RSS_KEY_SIZE;
        vsi->rss_lut_size = pf->hash_lut_size;
 
+       if (nb_q == 0) {
+               PMD_DRV_LOG(WARNING,
+                       "RSS is not supported as rx queues number is zero\n");
+               return 0;
+       }
+
        if (is_safe_mode) {
                PMD_DRV_LOG(WARNING, "RSS is not supported in safe mode\n");
                return 0;