Hi Leon,

On Mon, Oct 13, 2025 at 06:26:10PM +0300, Leon Romanovsky wrote:
> @@ -2090,6 +2092,9 @@ int vfio_pci_core_init_dev(struct vfio_device 
> *core_vdev)
>       INIT_LIST_HEAD(&vdev->dummy_resources_list);
>       INIT_LIST_HEAD(&vdev->ioeventfds_list);
>       INIT_LIST_HEAD(&vdev->sriov_pfs_item);
> +     ret = pcim_p2pdma_init(vdev->pdev);
> +     if (ret != -EOPNOTSUPP)
> +             return ret;
>       init_rwsem(&vdev->memory_lock);
>       xa_init(&vdev->ctx);

I think this should be:
        if (ret && ret != -EOPNOTSUPP)
                return ret;

Otherwise, init_rwsem() and xa_init() would be missed if ret==0.

Thanks
Nicolin

Reply via email to