From bfa4f648728a742f0b38edb628e2978fa5721b01 Mon Sep 17 00:00:00 2001 From: Dapeng Yu Date: Wed, 23 Dec 2020 13:30:18 +0800 Subject: [PATCH] net/ice: check Rx queue number on RSS init 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 Acked-by: Qi Zhang --- drivers/net/ice/ice_ethdev.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c index 9a5d6a559f..bbb8c14606 100644 --- a/drivers/net/ice/ice_ethdev.c +++ b/drivers/net/ice/ice_ethdev.c @@ -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; -- 2.20.1