net/mlx5: use correct RETA table size
[dpdk.git] / drivers / net / mlx5 / mlx5_rss.c
index e73cd9d..0702f1a 100644 (file)
 /* Verbs header. */
 /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
 #ifdef PEDANTIC
-#pragma GCC diagnostic ignored "-pedantic"
+#pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 #include <infiniband/verbs.h>
 #ifdef PEDANTIC
-#pragma GCC diagnostic error "-pedantic"
+#pragma GCC diagnostic error "-Wpedantic"
 #endif
 
 /* DPDK headers don't like -pedantic. */
 #ifdef PEDANTIC
-#pragma GCC diagnostic ignored "-pedantic"
+#pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 #include <rte_malloc.h>
 #include <rte_ethdev.h>
 #ifdef PEDANTIC
-#pragma GCC diagnostic error "-pedantic"
+#pragma GCC diagnostic error "-Wpedantic"
 #endif
 
 #include "mlx5.h"
@@ -156,12 +156,6 @@ mlx5_rss_hash_update(struct rte_eth_dev *dev,
                                                rss_conf->rss_key,
                                                rss_conf->rss_key_len,
                                                rss_conf->rss_hf);
-       else
-               err = rss_hash_rss_conf_new_key(priv,
-                                               rss_hash_default_key,
-                                               rss_hash_default_key_len,
-                                               ETH_RSS_PROTO_MASK);
-
        /* Store protocols for which RSS is enabled. */
        priv->rss_hf = rss_conf->rss_hf;
        priv_unlock(priv);
@@ -263,13 +257,9 @@ priv_dev_rss_reta_query(struct priv *priv,
 {
        unsigned int idx;
        unsigned int i;
-       int ret;
-
-       /* See RETA comment in mlx5_dev_infos_get(). */
-       ret = priv_rss_reta_index_resize(priv, priv->ind_table_max_size);
-       if (ret)
-               return ret;
 
+       if (!reta_size || reta_size > priv->reta_idx_n)
+               return EINVAL;
        /* Fill each entry of the table even if its bit is not set. */
        for (idx = 0, i = 0; (i != reta_size); ++i) {
                idx = i / RTE_RETA_GROUP_SIZE;
@@ -302,8 +292,9 @@ priv_dev_rss_reta_update(struct priv *priv,
        unsigned int pos;
        int ret;
 
-       /* See RETA comment in mlx5_dev_infos_get(). */
-       ret = priv_rss_reta_index_resize(priv, priv->ind_table_max_size);
+       if (!reta_size)
+               return EINVAL;
+       ret = priv_rss_reta_index_resize(priv, reta_size);
        if (ret)
                return ret;