net/mlx5: remove memory region support
[dpdk.git] / drivers / net / mlx5 / mlx5.c
index 3885b0b..42b019b 100644 (file)
@@ -245,10 +245,6 @@ mlx5_dev_close(struct rte_eth_dev *dev)
        if (ret)
                DRV_LOG(WARNING, "port %u some flows still remain",
                        dev->data->port_id);
-       ret = mlx5_mr_verify(dev);
-       if (ret)
-               DRV_LOG(WARNING, "port %u some memory region still remain",
-                       dev->data->port_id);
        memset(priv, 0, sizeof(*priv));
 }
 
@@ -690,18 +686,18 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
                break;
        }
        if (attr_ctx == NULL) {
-               mlx5_glue->free_device_list(list);
                switch (err) {
                case 0:
                        DRV_LOG(ERR,
                                "cannot access device, is mlx5_ib loaded?");
                        err = ENODEV;
-                       goto error;
+                       break;
                case EINVAL:
                        DRV_LOG(ERR,
                                "cannot use device, are drivers up to date?");
-                       goto error;
+                       break;
                }
+               goto error;
        }
        ibv_dev = list[i];
        DRV_LOG(DEBUG, "device opened");
@@ -954,7 +950,7 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
                        goto port_error;
                }
                eth_dev->data->dev_private = priv;
-               priv->dev = eth_dev;
+               priv->dev_data = eth_dev->data;
                eth_dev->data->mac_addrs = priv->mac;
                eth_dev->device = &pci_dev->device;
                rte_eth_copy_pci_info(eth_dev, pci_dev);
@@ -1063,6 +1059,8 @@ port_error:
                        claim_zero(mlx5_glue->dealloc_pd(pd));
                if (ctx)
                        claim_zero(mlx5_glue->close_device(ctx));
+               if (eth_dev && rte_eal_process_type() == RTE_PROC_PRIMARY)
+                       rte_eth_dev_release_port(eth_dev);
                break;
        }
        /*