iommu/fsl: Always allocate a group for non-pci devices
authorJason Gunthorpe <jgg@nvidia.com>
Wed, 17 May 2023 00:35:26 +0000 (21:35 -0300)
committerJoerg Roedel <jroedel@suse.de>
Thu, 1 Jun 2023 09:47:47 +0000 (11:47 +0200)
fsl_pamu_device_group() is only called if dev->iommu_group is NULL, so
iommu_group_get() always returns NULL. Remove this test and just allocate
a group. Call generic_device_group() for this like the other drivers.

Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Tested-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/1-v2-ce71068deeec+4cf6-fsl_rm_groups_jgg@nvidia.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/fsl_pamu_domain.c

index bce3722970996550f426bd173c6fab7fd27fe9bb..cd0c60b402154fc407d2acf04e6f4c87e04423e9 100644 (file)
@@ -437,7 +437,7 @@ static struct iommu_group *fsl_pamu_device_group(struct device *dev)
        if (dev_is_pci(dev))
                group = get_pci_device_group(to_pci_dev(dev));
        else if (of_get_property(dev->of_node, "fsl,liodn", &len))
-               group = get_device_iommu_group(dev);
+               return generic_device_group(dev);
 
        return group;
 }