On Fri, Jun 24, 2022 at 09:35:49AM +0800, Baolu Lu wrote: > External email: Use caution opening links or attachments > > > On 2022/6/24 04:00, Nicolin Chen wrote: > > diff --git a/drivers/iommu/mtk_iommu_v1.c b/drivers/iommu/mtk_iommu_v1.c > > index e1cb51b9866c..5386d889429d 100644 > > --- a/drivers/iommu/mtk_iommu_v1.c > > +++ b/drivers/iommu/mtk_iommu_v1.c > > @@ -304,7 +304,7 @@ static int mtk_iommu_v1_attach_device(struct iommu_domain *domain, struct device > > /* Only allow the domain created internally. */ > > mtk_mapping = data->mapping; > > if (mtk_mapping->domain != domain) > > - return 0; > > + return -EMEDIUMTYPE; > > > > if (!data->m4u_dom) { > > data->m4u_dom = dom; > > This change looks odd. It turns the return value from success to > failure. Is it a bug? If so, it should go through a separated fix patch. Makes sense. I read the commit log of the original change: https://lore.kernel.org/r/1589530123-30240-1-git-send-email-yong.wu@xxxxxxxxxxxx It doesn't seem to allow devices to get attached to different domains other than the shared mapping->domain, created in the in the mtk_iommu_probe_device(). So it looks like returning 0 is intentional. Though I am still very confused by this return value here, I doubt it has ever been used in a VFIO context. Young, would you please give us some input? Overall, I feel it's better to play it safe here by dropping this part. If we later confirm there is a need to fix it, we will do that in a separate patch anyway. Thanks Nic