net/ena: fix invalid reference to variable in union
[dpdk.git] / drivers / net / mlx5 / mlx5_rxq.c
index 6df8997..183da0e 100644 (file)
@@ -1468,6 +1468,8 @@ mlx5_rxq_new(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
        tmpl->rxq.mp = mp;
        tmpl->rxq.stats.idx = idx;
        tmpl->rxq.elts_n = log2above(desc);
+       tmpl->rxq.rq_repl_thresh =
+               MLX5_VPMD_RXQ_RPLNSH_THRESH(1 << tmpl->rxq.elts_n);
        tmpl->rxq.elts =
                (struct rte_mbuf *(*)[1 << tmpl->rxq.elts_n])(tmpl + 1);
 #ifndef RTE_ARCH_64
@@ -1782,7 +1784,7 @@ mlx5_hrxq_new(struct rte_eth_dev *dev,
        struct mlx5_ind_table_ibv *ind_tbl;
        struct ibv_qp *qp;
 #ifdef HAVE_IBV_DEVICE_TUNNEL_SUPPORT
-       struct mlx5dv_qp_init_attr qp_init_attr = {0};
+       struct mlx5dv_qp_init_attr qp_init_attr;
 #endif
        int err;
 
@@ -1794,11 +1796,8 @@ mlx5_hrxq_new(struct rte_eth_dev *dev,
                rte_errno = ENOMEM;
                return NULL;
        }
-       if (!rss_key_len) {
-               rss_key_len = MLX5_RSS_HASH_KEY_LEN;
-               rss_key = rss_hash_default_key;
-       }
 #ifdef HAVE_IBV_DEVICE_TUNNEL_SUPPORT
+       memset(&qp_init_attr, 0, sizeof(qp_init_attr));
        if (tunnel) {
                qp_init_attr.comp_mask =
                                MLX5DV_QP_INIT_ATTR_MASK_QP_CREATE_FLAGS;
@@ -1823,11 +1822,8 @@ mlx5_hrxq_new(struct rte_eth_dev *dev,
                                IBV_QP_INIT_ATTR_RX_HASH,
                        .rx_hash_conf = (struct ibv_rx_hash_conf){
                                .rx_hash_function = IBV_RX_HASH_FUNC_TOEPLITZ,
-                               .rx_hash_key_len = rss_key_len ? rss_key_len :
-                                                  MLX5_RSS_HASH_KEY_LEN,
-                               .rx_hash_key = rss_key ?
-                                              (void *)(uintptr_t)rss_key :
-                                              rss_hash_default_key,
+                               .rx_hash_key_len = rss_key_len,
+                               .rx_hash_key = (void *)(uintptr_t)rss_key,
                                .rx_hash_fields_mask = hash_fields,
                        },
                        .rwq_ind_tbl = ind_tbl->ind_table,
@@ -1845,11 +1841,8 @@ mlx5_hrxq_new(struct rte_eth_dev *dev,
                                IBV_QP_INIT_ATTR_RX_HASH,
                        .rx_hash_conf = (struct ibv_rx_hash_conf){
                                .rx_hash_function = IBV_RX_HASH_FUNC_TOEPLITZ,
-                               .rx_hash_key_len = rss_key_len ? rss_key_len :
-                                                  MLX5_RSS_HASH_KEY_LEN,
-                               .rx_hash_key = rss_key ?
-                                              (void *)(uintptr_t)rss_key :
-                                              rss_hash_default_key,
+                               .rx_hash_key_len = rss_key_len,
+                               .rx_hash_key = (void *)(uintptr_t)rss_key,
                                .rx_hash_fields_mask = hash_fields,
                        },
                        .rwq_ind_tbl = ind_tbl->ind_table,