Merge branch 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox...
[linux-block.git] / drivers / net / ethernet / mellanox / mlx5 / core / main.c
index 072b56fda27ed77b579572c168264725713f1344..4084c4e74fb7c9203363a69bf11a09a1bfa0a138 100644 (file)
@@ -734,8 +734,7 @@ static int mlx5_pci_init(struct mlx5_core_dev *dev, struct pci_dev *pdev,
        struct mlx5_priv *priv = &dev->priv;
        int err = 0;
 
-       priv->pci_dev_data = id->driver_data;
-
+       mutex_init(&dev->pci_status_mutex);
        pci_set_drvdata(dev->pdev, dev);
 
        dev->bar_addr = pci_resource_start(pdev, 0);
@@ -1255,7 +1254,6 @@ static int mlx5_mdev_init(struct mlx5_core_dev *dev, int profile_idx)
 
        INIT_LIST_HEAD(&priv->ctx_list);
        spin_lock_init(&priv->ctx_lock);
-       mutex_init(&dev->pci_status_mutex);
        mutex_init(&dev->intf_state_mutex);
 
        mutex_init(&priv->bfregs.reg_head.lock);
@@ -1317,6 +1315,9 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *id)
        dev->device = &pdev->dev;
        dev->pdev = pdev;
 
+       dev->coredev_type = id->driver_data & MLX5_PCI_DEV_IS_VF ?
+                        MLX5_COREDEV_VF : MLX5_COREDEV_PF;
+
        err = mlx5_mdev_init(dev, prof_sel);
        if (err)
                goto mdev_init_err;