net/mlx5: fix drop queue creation error
[dpdk.git] / drivers / net / mlx5 / mlx5.c
index 7d40b24..4a6450c 100644 (file)
@@ -222,6 +222,8 @@ static const struct eth_dev_ops mlx5_dev_ops = {
        .rss_hash_update = mlx5_rss_hash_update,
        .rss_hash_conf_get = mlx5_rss_hash_conf_get,
        .filter_ctrl = mlx5_dev_filter_ctrl,
+       .rx_descriptor_status = mlx5_rx_descriptor_status,
+       .tx_descriptor_status = mlx5_tx_descriptor_status,
 };
 
 static struct {
@@ -333,8 +335,10 @@ mlx5_args(struct priv *priv, struct rte_devargs *devargs)
                if (rte_kvargs_count(kvlist, params[i])) {
                        ret = rte_kvargs_process(kvlist, params[i],
                                                 mlx5_args_check, priv);
-                       if (ret != 0)
+                       if (ret != 0) {
+                               rte_kvargs_free(kvlist);
                                return ret;
+                       }
                }
        }
        rte_kvargs_free(kvlist);
@@ -557,8 +561,9 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
                priv->ind_table_max_size = exp_device_attr.rx_hash_caps.max_rwq_indirection_table_size;
                /* Remove this check once DPDK supports larger/variable
                 * indirection tables. */
-               if (priv->ind_table_max_size > (unsigned int)RSS_INDIRECTION_TABLE_SIZE)
-                       priv->ind_table_max_size = RSS_INDIRECTION_TABLE_SIZE;
+               if (priv->ind_table_max_size >
+                               (unsigned int)ETH_RSS_RETA_SIZE_512)
+                       priv->ind_table_max_size = ETH_RSS_RETA_SIZE_512;
                DEBUG("maximum RX indirection table size is %u",
                      priv->ind_table_max_size);
                priv->hw_vlan_strip = !!(exp_device_attr.wq_vlan_offloads_cap &