Re: [PATCH 8/9] vdpa: introduce map ops
From: kernel test robot
Date: Wed Jul 02 2025 - 01:22:50 EST
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@xxxxxxxxx/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@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507021212.rhQmuuvi-lkp@xxxxxxxxx/
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