drivers/vfio/pci/pds/vfio_dev.c | 1 + 1 file changed, 1 insertion(+)
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>
---
drivers/vfio/pci/pds/vfio_dev.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/vfio/pci/pds/vfio_dev.c b/drivers/vfio/pci/pds/vfio_dev.c
index 76a80ae7087b..f6e0253a8a14 100644
--- a/drivers/vfio/pci/pds/vfio_dev.c
+++ b/drivers/vfio/pci/pds/vfio_dev.c
@@ -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)
--
2.17.1
On Wed, 2 Jul 2025 09:37:44 -0700
Brett Creeley <brett.creeley@amd.com> wrote:
> 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>
> ---
> drivers/vfio/pci/pds/vfio_dev.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/vfio/pci/pds/vfio_dev.c b/drivers/vfio/pci/pds/vfio_dev.c
> index 76a80ae7087b..f6e0253a8a14 100644
> --- a/drivers/vfio/pci/pds/vfio_dev.c
> +++ b/drivers/vfio/pci/pds/vfio_dev.c
> @@ -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)
Applied to vfio next branch for v6.17. Thanks,
Alex
> From: Brett Creeley <brett.creeley@amd.com>
> Sent: Thursday, July 3, 2025 12:38 AM
>
> 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>
It's a surprise to see it caught so late...
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
© 2016 - 2026 Red Hat, Inc.