lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202507021212.rhQmuuvi-lkp@intel.com>
Date: Wed, 2 Jul 2025 13:20:55 +0800
From: kernel test robot <lkp@...el.com>
To: Jason Wang <jasowang@...hat.com>, mst@...hat.com,
	xuanzhuo@...ux.alibaba.com, eperezma@...hat.com
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
	virtualization@...ts.linux.dev, linux-kernel@...r.kernel.org,
	hch@...radead.org, xieyongji@...edance.com
Subject: Re: [PATCH 8/9] vdpa: introduce map ops

Hi Jason,

kernel test robot noticed the following build errors:

[auto build test ERROR on mst-vhost/linux-next]
[also build test ERROR on linus/master v6.16-rc4 next-20250701]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Jason-Wang/virtio_ring-constify-virtqueue-pointer-for-DMA-helpers/20250701-091746
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next
patch link:    https://lore.kernel.org/r/20250701011401.74851-9-jasowang%40redhat.com
patch subject: [PATCH 8/9] vdpa: introduce map ops
config: x86_64-randconfig-073-20250702 (https://download.01.org/0day-ci/archive/20250702/202507021212.rhQmuuvi-lkp@intel.com/config)
compiler: clang version 20.1.7 (https://github.com/llvm/llvm-project 6146a88f60492b520a36f8f8f3231e15f3cc6082)
rustc: rustc 1.78.0 (9b00956e5 2024-04-29)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250702/202507021212.rhQmuuvi-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507021212.rhQmuuvi-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/vdpa/mlx5/net/mlx5_vnet.c:3405:21: error: no member named 'dma_dev' in 'struct vdpa_device'
    3405 |         return mvdev->vdev.dma_dev;
         |                ~~~~~~~~~~~ ^
   drivers/vdpa/mlx5/net/mlx5_vnet.c:3687:3: error: field designator 'get_vq_dma_dev' does not refer to any field in type 'const struct vdpa_config_ops'
    3687 |         .get_vq_dma_dev = mlx5_get_vq_dma_dev,
         |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/vdpa/mlx5/net/mlx5_vnet.c:3880:59: error: too few arguments provided to function-like macro invocation
    3880 |                                  MLX5_VDPA_NUMVQ_GROUPS, MLX5_VDPA_NUM_AS, name, false);
         |                                                                                       ^
   include/linux/vdpa.h:471:9: note: macro 'vdpa_alloc_device' defined here
     471 | #define vdpa_alloc_device(dev_struct, member, parent, config, map, \
         |         ^
>> drivers/vdpa/mlx5/net/mlx5_vnet.c:3879:9: error: use of undeclared identifier 'vdpa_alloc_device'; did you mean '__vdpa_alloc_device'?
    3879 |         ndev = vdpa_alloc_device(struct mlx5_vdpa_net, mvdev.vdev, mdev->device, &mgtdev->vdpa_ops,
         |                ^~~~~~~~~~~~~~~~~
         |                __vdpa_alloc_device
   include/linux/vdpa.h:449:21: note: '__vdpa_alloc_device' declared here
     449 | struct vdpa_device *__vdpa_alloc_device(struct device *parent,
         |                     ^
   drivers/vdpa/mlx5/net/mlx5_vnet.c:3966:14: error: no member named 'dma_dev' in 'struct vdpa_device'
    3966 |         mvdev->vdev.dma_dev = &mdev->pdev->dev;
         |         ~~~~~~~~~~~ ^
   5 errors generated.


vim +3879 drivers/vdpa/mlx5/net/mlx5_vnet.c

bc9a2b3e686e32 Eli Cohen           2023-06-07  3817  
d8ca2fa5be1bdb Parav Pandit        2021-10-26  3818  static int mlx5_vdpa_dev_add(struct vdpa_mgmt_dev *v_mdev, const char *name,
d8ca2fa5be1bdb Parav Pandit        2021-10-26  3819  			     const struct vdpa_dev_set_config *add_config)
1a86b377aa2147 Eli Cohen           2020-08-04  3820  {
58926c8aab104d Eli Cohen           2021-04-08  3821  	struct mlx5_vdpa_mgmtdev *mgtdev = container_of(v_mdev, struct mlx5_vdpa_mgmtdev, mgtdev);
1a86b377aa2147 Eli Cohen           2020-08-04  3822  	struct virtio_net_config *config;
7c9f131f366ab4 Eli Cohen           2021-04-22  3823  	struct mlx5_core_dev *pfmdev;
1a86b377aa2147 Eli Cohen           2020-08-04  3824  	struct mlx5_vdpa_dev *mvdev;
1a86b377aa2147 Eli Cohen           2020-08-04  3825  	struct mlx5_vdpa_net *ndev;
58926c8aab104d Eli Cohen           2021-04-08  3826  	struct mlx5_core_dev *mdev;
deeacf35c922da Si-Wei Liu          2023-02-06  3827  	u64 device_features;
1a86b377aa2147 Eli Cohen           2020-08-04  3828  	u32 max_vqs;
246fd1caf0f442 Eli Cohen           2021-09-09  3829  	u16 mtu;
1a86b377aa2147 Eli Cohen           2020-08-04  3830  	int err;
1a86b377aa2147 Eli Cohen           2020-08-04  3831  
58926c8aab104d Eli Cohen           2021-04-08  3832  	if (mgtdev->ndev)
58926c8aab104d Eli Cohen           2021-04-08  3833  		return -ENOSPC;
58926c8aab104d Eli Cohen           2021-04-08  3834  
58926c8aab104d Eli Cohen           2021-04-08  3835  	mdev = mgtdev->madev->mdev;
deeacf35c922da Si-Wei Liu          2023-02-06  3836  	device_features = mgtdev->mgtdev.supported_features;
deeacf35c922da Si-Wei Liu          2023-02-06  3837  	if (add_config->mask & BIT_ULL(VDPA_ATTR_DEV_FEATURES)) {
deeacf35c922da Si-Wei Liu          2023-02-06  3838  		if (add_config->device_features & ~device_features) {
deeacf35c922da Si-Wei Liu          2023-02-06  3839  			dev_warn(mdev->device,
deeacf35c922da Si-Wei Liu          2023-02-06  3840  				 "The provisioned features 0x%llx are not supported by this device with features 0x%llx\n",
deeacf35c922da Si-Wei Liu          2023-02-06  3841  				 add_config->device_features, device_features);
deeacf35c922da Si-Wei Liu          2023-02-06  3842  			return -EINVAL;
deeacf35c922da Si-Wei Liu          2023-02-06  3843  		}
deeacf35c922da Si-Wei Liu          2023-02-06  3844  		device_features &= add_config->device_features;
791a1cb7b8591e Eli Cohen           2023-03-21  3845  	} else {
791a1cb7b8591e Eli Cohen           2023-03-21  3846  		device_features &= ~BIT_ULL(VIRTIO_NET_F_MRG_RXBUF);
deeacf35c922da Si-Wei Liu          2023-02-06  3847  	}
deeacf35c922da Si-Wei Liu          2023-02-06  3848  	if (!(device_features & BIT_ULL(VIRTIO_F_VERSION_1) &&
deeacf35c922da Si-Wei Liu          2023-02-06  3849  	      device_features & BIT_ULL(VIRTIO_F_ACCESS_PLATFORM))) {
deeacf35c922da Si-Wei Liu          2023-02-06  3850  		dev_warn(mdev->device,
deeacf35c922da Si-Wei Liu          2023-02-06  3851  			 "Must provision minimum features 0x%llx for this device",
deeacf35c922da Si-Wei Liu          2023-02-06  3852  			 BIT_ULL(VIRTIO_F_VERSION_1) | BIT_ULL(VIRTIO_F_ACCESS_PLATFORM));
deeacf35c922da Si-Wei Liu          2023-02-06  3853  		return -EOPNOTSUPP;
deeacf35c922da Si-Wei Liu          2023-02-06  3854  	}
deeacf35c922da Si-Wei Liu          2023-02-06  3855  
879753c816dbbd Eli Cohen           2021-08-11  3856  	if (!(MLX5_CAP_DEV_VDPA_EMULATION(mdev, virtio_queue_type) &
879753c816dbbd Eli Cohen           2021-08-11  3857  	    MLX5_VIRTIO_EMULATION_CAP_VIRTIO_QUEUE_TYPE_SPLIT)) {
879753c816dbbd Eli Cohen           2021-08-11  3858  		dev_warn(mdev->device, "missing support for split virtqueues\n");
879753c816dbbd Eli Cohen           2021-08-11  3859  		return -EOPNOTSUPP;
879753c816dbbd Eli Cohen           2021-08-11  3860  	}
879753c816dbbd Eli Cohen           2021-08-11  3861  
acde3929492bcb Eli Cohen           2022-05-16  3862  	max_vqs = min_t(int, MLX5_CAP_DEV_VDPA_EMULATION(mdev, max_num_virtio_queues),
acde3929492bcb Eli Cohen           2022-05-16  3863  			1 << MLX5_CAP_GEN(mdev, log_max_rqt_size));
75560522eaef2f Eli Cohen           2022-01-05  3864  	if (max_vqs < 2) {
75560522eaef2f Eli Cohen           2022-01-05  3865  		dev_warn(mdev->device,
75560522eaef2f Eli Cohen           2022-01-05  3866  			 "%d virtqueues are supported. At least 2 are required\n",
75560522eaef2f Eli Cohen           2022-01-05  3867  			 max_vqs);
75560522eaef2f Eli Cohen           2022-01-05  3868  		return -EAGAIN;
75560522eaef2f Eli Cohen           2022-01-05  3869  	}
75560522eaef2f Eli Cohen           2022-01-05  3870  
75560522eaef2f Eli Cohen           2022-01-05  3871  	if (add_config->mask & BIT_ULL(VDPA_ATTR_DEV_NET_CFG_MAX_VQP)) {
75560522eaef2f Eli Cohen           2022-01-05  3872  		if (add_config->net.max_vq_pairs > max_vqs / 2)
75560522eaef2f Eli Cohen           2022-01-05  3873  			return -EINVAL;
75560522eaef2f Eli Cohen           2022-01-05  3874  		max_vqs = min_t(u32, max_vqs, 2 * add_config->net.max_vq_pairs);
75560522eaef2f Eli Cohen           2022-01-05  3875  	} else {
75560522eaef2f Eli Cohen           2022-01-05  3876  		max_vqs = 2;
75560522eaef2f Eli Cohen           2022-01-05  3877  	}
1a86b377aa2147 Eli Cohen           2020-08-04  3878  
03dd63c8fae459 Dragos Tatulea      2023-10-18 @3879  	ndev = vdpa_alloc_device(struct mlx5_vdpa_net, mvdev.vdev, mdev->device, &mgtdev->vdpa_ops,
8fcd20c307042b Eli Cohen           2022-07-14 @3880  				 MLX5_VDPA_NUMVQ_GROUPS, MLX5_VDPA_NUM_AS, name, false);
1a86b377aa2147 Eli Cohen           2020-08-04  3881  	if (IS_ERR(ndev))
74c9729dd892a1 Leon Romanovsky     2020-10-04  3882  		return PTR_ERR(ndev);
1a86b377aa2147 Eli Cohen           2020-08-04  3883  
1a86b377aa2147 Eli Cohen           2020-08-04  3884  	ndev->mvdev.max_vqs = max_vqs;
1a86b377aa2147 Eli Cohen           2020-08-04  3885  	mvdev = &ndev->mvdev;
1a86b377aa2147 Eli Cohen           2020-08-04  3886  	mvdev->mdev = mdev;
439252e167ac45 Konstantin Shkolnyy 2025-02-04  3887  	/* cpu_to_mlx5vdpa16() below depends on this flag */
439252e167ac45 Konstantin Shkolnyy 2025-02-04  3888  	mvdev->actual_features =
439252e167ac45 Konstantin Shkolnyy 2025-02-04  3889  			(device_features & BIT_ULL(VIRTIO_F_VERSION_1));
75560522eaef2f Eli Cohen           2022-01-05  3890  
75560522eaef2f Eli Cohen           2022-01-05  3891  	ndev->vqs = kcalloc(max_vqs, sizeof(*ndev->vqs), GFP_KERNEL);
75560522eaef2f Eli Cohen           2022-01-05  3892  	ndev->event_cbs = kcalloc(max_vqs + 1, sizeof(*ndev->event_cbs), GFP_KERNEL);
75560522eaef2f Eli Cohen           2022-01-05  3893  	if (!ndev->vqs || !ndev->event_cbs) {
75560522eaef2f Eli Cohen           2022-01-05  3894  		err = -ENOMEM;
75560522eaef2f Eli Cohen           2022-01-05  3895  		goto err_alloc;
75560522eaef2f Eli Cohen           2022-01-05  3896  	}
1835ed4a5d49d2 Dragos Tatulea      2024-06-26  3897  	ndev->cur_num_vqs = MLX5V_DEFAULT_VQ_COUNT;
75560522eaef2f Eli Cohen           2022-01-05  3898  
4a19f2942a0fe5 Dragos Tatulea      2024-06-26  3899  	mvqs_set_defaults(ndev);
bc9a2b3e686e32 Eli Cohen           2023-06-07  3900  	allocate_irqs(ndev);
759ae7f9bf1e6b Eli Cohen           2022-05-18  3901  	init_rwsem(&ndev->reslock);
1a86b377aa2147 Eli Cohen           2020-08-04  3902  	config = &ndev->config;
1e00e821e4ca63 Eli Cohen           2022-02-21  3903  
1e00e821e4ca63 Eli Cohen           2022-02-21  3904  	if (add_config->mask & BIT_ULL(VDPA_ATTR_DEV_NET_CFG_MTU)) {
1e00e821e4ca63 Eli Cohen           2022-02-21  3905  		err = config_func_mtu(mdev, add_config->net.mtu);
1e00e821e4ca63 Eli Cohen           2022-02-21  3906  		if (err)
759ae7f9bf1e6b Eli Cohen           2022-05-18  3907  			goto err_alloc;
1e00e821e4ca63 Eli Cohen           2022-02-21  3908  	}
1e00e821e4ca63 Eli Cohen           2022-02-21  3909  
deeacf35c922da Si-Wei Liu          2023-02-06  3910  	if (device_features & BIT_ULL(VIRTIO_NET_F_MTU)) {
246fd1caf0f442 Eli Cohen           2021-09-09  3911  		err = query_mtu(mdev, &mtu);
1a86b377aa2147 Eli Cohen           2020-08-04  3912  		if (err)
759ae7f9bf1e6b Eli Cohen           2022-05-18  3913  			goto err_alloc;
1a86b377aa2147 Eli Cohen           2020-08-04  3914  
246fd1caf0f442 Eli Cohen           2021-09-09  3915  		ndev->config.mtu = cpu_to_mlx5vdpa16(mvdev, mtu);
033779a708f0b0 Si-Wei Liu          2023-02-06  3916  	}
1a86b377aa2147 Eli Cohen           2020-08-04  3917  
deeacf35c922da Si-Wei Liu          2023-02-06  3918  	if (device_features & BIT_ULL(VIRTIO_NET_F_STATUS)) {
edf747affc41a1 Eli Cohen           2021-09-09  3919  		if (get_link_state(mvdev))
edf747affc41a1 Eli Cohen           2021-09-09  3920  			ndev->config.status |= cpu_to_mlx5vdpa16(mvdev, VIRTIO_NET_S_LINK_UP);
edf747affc41a1 Eli Cohen           2021-09-09  3921  		else
edf747affc41a1 Eli Cohen           2021-09-09  3922  			ndev->config.status &= cpu_to_mlx5vdpa16(mvdev, ~VIRTIO_NET_S_LINK_UP);
033779a708f0b0 Si-Wei Liu          2023-02-06  3923  	}
edf747affc41a1 Eli Cohen           2021-09-09  3924  
a007d940040c0b Eli Cohen           2021-10-26  3925  	if (add_config->mask & (1 << VDPA_ATTR_DEV_NET_CFG_MACADDR)) {
a007d940040c0b Eli Cohen           2021-10-26  3926  		memcpy(ndev->config.mac, add_config->net.mac, ETH_ALEN);
deeacf35c922da Si-Wei Liu          2023-02-06  3927  	/* No bother setting mac address in config if not going to provision _F_MAC */
deeacf35c922da Si-Wei Liu          2023-02-06  3928  	} else if ((add_config->mask & BIT_ULL(VDPA_ATTR_DEV_FEATURES)) == 0 ||
deeacf35c922da Si-Wei Liu          2023-02-06  3929  		   device_features & BIT_ULL(VIRTIO_NET_F_MAC)) {
1a86b377aa2147 Eli Cohen           2020-08-04  3930  		err = mlx5_query_nic_vport_mac_address(mdev, 0, 0, config->mac);
1a86b377aa2147 Eli Cohen           2020-08-04  3931  		if (err)
759ae7f9bf1e6b Eli Cohen           2022-05-18  3932  			goto err_alloc;
a007d940040c0b Eli Cohen           2021-10-26  3933  	}
1a86b377aa2147 Eli Cohen           2020-08-04  3934  
7c9f131f366ab4 Eli Cohen           2021-04-22  3935  	if (!is_zero_ether_addr(config->mac)) {
7c9f131f366ab4 Eli Cohen           2021-04-22  3936  		pfmdev = pci_get_drvdata(pci_physfn(mdev->pdev));
7c9f131f366ab4 Eli Cohen           2021-04-22  3937  		err = mlx5_mpfs_add_mac(pfmdev, config->mac);
7c9f131f366ab4 Eli Cohen           2021-04-22  3938  		if (err)
759ae7f9bf1e6b Eli Cohen           2022-05-18  3939  			goto err_alloc;
deeacf35c922da Si-Wei Liu          2023-02-06  3940  	} else if ((add_config->mask & BIT_ULL(VDPA_ATTR_DEV_FEATURES)) == 0) {
deeacf35c922da Si-Wei Liu          2023-02-06  3941  		/*
deeacf35c922da Si-Wei Liu          2023-02-06  3942  		 * We used to clear _F_MAC feature bit if seeing
deeacf35c922da Si-Wei Liu          2023-02-06  3943  		 * zero mac address when device features are not
deeacf35c922da Si-Wei Liu          2023-02-06  3944  		 * specifically provisioned. Keep the behaviour
deeacf35c922da Si-Wei Liu          2023-02-06  3945  		 * so old scripts do not break.
deeacf35c922da Si-Wei Liu          2023-02-06  3946  		 */
deeacf35c922da Si-Wei Liu          2023-02-06  3947  		device_features &= ~BIT_ULL(VIRTIO_NET_F_MAC);
deeacf35c922da Si-Wei Liu          2023-02-06  3948  	} else if (device_features & BIT_ULL(VIRTIO_NET_F_MAC)) {
deeacf35c922da Si-Wei Liu          2023-02-06  3949  		/* Don't provision zero mac address for _F_MAC */
deeacf35c922da Si-Wei Liu          2023-02-06  3950  		mlx5_vdpa_warn(&ndev->mvdev,
deeacf35c922da Si-Wei Liu          2023-02-06  3951  			       "No mac address provisioned?\n");
deeacf35c922da Si-Wei Liu          2023-02-06  3952  		err = -EINVAL;
deeacf35c922da Si-Wei Liu          2023-02-06  3953  		goto err_alloc;
7c9f131f366ab4 Eli Cohen           2021-04-22  3954  	}
7c9f131f366ab4 Eli Cohen           2021-04-22  3955  
1e8dac7bb6ca9c Dragos Tatulea      2024-06-26  3956  	if (device_features & BIT_ULL(VIRTIO_NET_F_MQ)) {
acde3929492bcb Eli Cohen           2022-05-16  3957  		config->max_virtqueue_pairs = cpu_to_mlx5vdpa16(mvdev, max_vqs / 2);
1e8dac7bb6ca9c Dragos Tatulea      2024-06-26  3958  		ndev->rqt_size = max_vqs / 2;
1e8dac7bb6ca9c Dragos Tatulea      2024-06-26  3959  	} else {
1e8dac7bb6ca9c Dragos Tatulea      2024-06-26  3960  		ndev->rqt_size = 1;
1e8dac7bb6ca9c Dragos Tatulea      2024-06-26  3961  	}
deeacf35c922da Si-Wei Liu          2023-02-06  3962  
1fcdf43ea69e97 Dragos Tatulea      2024-08-16  3963  	mlx5_cmd_init_async_ctx(mdev, &mvdev->async_ctx);
1fcdf43ea69e97 Dragos Tatulea      2024-08-16  3964  
deeacf35c922da Si-Wei Liu          2023-02-06  3965  	ndev->mvdev.mlx_features = device_features;
7d23dcdf213c2e Eli Cohen           2021-06-06  3966  	mvdev->vdev.dma_dev = &mdev->pdev->dev;
1a86b377aa2147 Eli Cohen           2020-08-04  3967  	err = mlx5_vdpa_alloc_resources(&ndev->mvdev);
1a86b377aa2147 Eli Cohen           2020-08-04  3968  	if (err)
83e445e64f48bd Dragos Tatulea      2024-11-05  3969  		goto err_alloc;
1a86b377aa2147 Eli Cohen           2020-08-04  3970  
f30a1232b6979c Dragos Tatulea      2024-08-30  3971  	err = mlx5_vdpa_init_mr_resources(mvdev);
f30a1232b6979c Dragos Tatulea      2024-08-30  3972  	if (err)
83e445e64f48bd Dragos Tatulea      2024-11-05  3973  		goto err_alloc;
f16d65124380ac Dragos Tatulea      2023-12-25  3974  
6f5312f801836e Eli Cohen           2021-06-02  3975  	if (MLX5_CAP_GEN(mvdev->mdev, umem_uid_0)) {
049cbeab861ef4 Dragos Tatulea      2023-10-18  3976  		err = mlx5_vdpa_create_dma_mr(mvdev);
1a86b377aa2147 Eli Cohen           2020-08-04  3977  		if (err)
83e445e64f48bd Dragos Tatulea      2024-11-05  3978  			goto err_alloc;
6f5312f801836e Eli Cohen           2021-06-02  3979  	}
6f5312f801836e Eli Cohen           2021-06-02  3980  
1f5d6476f12152 Dragos Tatulea      2024-06-26  3981  	err = alloc_fixed_resources(ndev);
6f5312f801836e Eli Cohen           2021-06-02  3982  	if (err)
83e445e64f48bd Dragos Tatulea      2024-11-05  3983  		goto err_alloc;
1a86b377aa2147 Eli Cohen           2020-08-04  3984  
55ebf0d60e3cc6 Jason Wang          2022-03-29  3985  	ndev->cvq_ent.mvdev = mvdev;
55ebf0d60e3cc6 Jason Wang          2022-03-29  3986  	INIT_WORK(&ndev->cvq_ent.work, mlx5_cvq_kick_handler);
218bdd20e56cab Eli Cohen           2021-09-09  3987  	mvdev->wq = create_singlethread_workqueue("mlx5_vdpa_wq");
5262912ef3cfc5 Eli Cohen           2021-08-23  3988  	if (!mvdev->wq) {
5262912ef3cfc5 Eli Cohen           2021-08-23  3989  		err = -ENOMEM;
83e445e64f48bd Dragos Tatulea      2024-11-05  3990  		goto err_alloc;
5262912ef3cfc5 Eli Cohen           2021-08-23  3991  	}
5262912ef3cfc5 Eli Cohen           2021-08-23  3992  
58926c8aab104d Eli Cohen           2021-04-08  3993  	mvdev->vdev.mdev = &mgtdev->mgtdev;
acde3929492bcb Eli Cohen           2022-05-16  3994  	err = _vdpa_register_device(&mvdev->vdev, max_vqs + 1);
1a86b377aa2147 Eli Cohen           2020-08-04  3995  	if (err)
1a86b377aa2147 Eli Cohen           2020-08-04  3996  		goto err_reg;
1a86b377aa2147 Eli Cohen           2020-08-04  3997  
58926c8aab104d Eli Cohen           2021-04-08  3998  	mgtdev->ndev = ndev;
ffb1aae43ed507 Dragos Tatulea      2024-06-26  3999  
ffb1aae43ed507 Dragos Tatulea      2024-06-26  4000  	/* For virtio-vdpa, the device was set up during device register. */
ffb1aae43ed507 Dragos Tatulea      2024-06-26  4001  	if (ndev->setup)
ffb1aae43ed507 Dragos Tatulea      2024-06-26  4002  		return 0;
ffb1aae43ed507 Dragos Tatulea      2024-06-26  4003  
ffb1aae43ed507 Dragos Tatulea      2024-06-26  4004  	down_write(&ndev->reslock);
ffb1aae43ed507 Dragos Tatulea      2024-06-26  4005  	err = setup_vq_resources(ndev, false);
ffb1aae43ed507 Dragos Tatulea      2024-06-26  4006  	up_write(&ndev->reslock);
ffb1aae43ed507 Dragos Tatulea      2024-06-26  4007  	if (err)
ffb1aae43ed507 Dragos Tatulea      2024-06-26  4008  		goto err_setup_vq_res;
ffb1aae43ed507 Dragos Tatulea      2024-06-26  4009  
74c9729dd892a1 Leon Romanovsky     2020-10-04  4010  	return 0;
1a86b377aa2147 Eli Cohen           2020-08-04  4011  
ffb1aae43ed507 Dragos Tatulea      2024-06-26  4012  err_setup_vq_res:
ffb1aae43ed507 Dragos Tatulea      2024-06-26  4013  	_vdpa_unregister_device(&mvdev->vdev);
1a86b377aa2147 Eli Cohen           2020-08-04  4014  err_reg:
5262912ef3cfc5 Eli Cohen           2021-08-23  4015  	destroy_workqueue(mvdev->wq);
75560522eaef2f Eli Cohen           2022-01-05  4016  err_alloc:
1a86b377aa2147 Eli Cohen           2020-08-04  4017  	put_device(&mvdev->vdev.dev);
74c9729dd892a1 Leon Romanovsky     2020-10-04  4018  	return err;
1a86b377aa2147 Eli Cohen           2020-08-04  4019  }
1a86b377aa2147 Eli Cohen           2020-08-04  4020  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ