]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
vfio/pds: Fix missing detach_ioas op
authorBrett Creeley <brett.creeley@amd.com>
Wed, 2 Jul 2025 16:37:44 +0000 (09:37 -0700)
committerAlex Williamson <alex.williamson@redhat.com>
Fri, 11 Jul 2025 21:38:47 +0000 (15:38 -0600)
When CONFIG_IOMMUFD is enabled and a device is bound to the pds_vfio_pci
driver, the following WARN_ON() trace is seen and probe fails:

WARNING: CPU: 0 PID: 5040 at drivers/vfio/vfio_main.c:317 __vfio_register_dev+0x130/0x140 [vfio]
<...>
pds_vfio_pci 0000:08:00.1: probe with driver pds_vfio_pci failed with error -22

This is because the driver's vfio_device_ops.detach_ioas isn't set.

Fix this by using the generic vfio_iommufd_physical_detach_ioas
function.

Fixes: 38fe3975b4c2 ("vfio/pds: Initial support for pds VFIO driver")
Signed-off-by: Brett Creeley <brett.creeley@amd.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/20250702163744.69767-1-brett.creeley@amd.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/pci/pds/vfio_dev.c

index 76a80ae7087b514216a78ec93462fd0bc4311afd..f6e0253a8a14e9e050e0a5d92bf27413d8f30234 100644 (file)
@@ -204,6 +204,7 @@ static const struct vfio_device_ops pds_vfio_ops = {
        .bind_iommufd = vfio_iommufd_physical_bind,
        .unbind_iommufd = vfio_iommufd_physical_unbind,
        .attach_ioas = vfio_iommufd_physical_attach_ioas,
+       .detach_ioas = vfio_iommufd_physical_detach_ioas,
 };
 
 const struct vfio_device_ops *pds_vfio_ops_info(void)