On Mon, Jan 11, 2021 at 07:18:48PM +0800, Yong Wu wrote: > If group->default_domain exists, avoid reallocate it. > > In some iommu drivers, there may be several devices share a group. Avoid > realloc the default domain for this case. > > Signed-off-by: Yong Wu <yong.wu@xxxxxxxxxxxx> > --- > drivers/iommu/iommu.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c > index 3d099a31ddca..f4b87e6abe80 100644 > --- a/drivers/iommu/iommu.c > +++ b/drivers/iommu/iommu.c > @@ -266,7 +266,8 @@ int iommu_probe_device(struct device *dev) > * support default domains, so the return value is not yet > * checked. > */ > - iommu_alloc_default_domain(group, dev); > + if (!group->default_domain) > + iommu_alloc_default_domain(group, dev); I don't really get what this achieves, since iommu_alloc_default_domain() looks like this: static int iommu_alloc_default_domain(struct iommu_group *group, struct device *dev) { unsigned int type; if (group->default_domain) return 0; ... in which case, it should be fine? Will