Messages in this thread Patch in this message | | | Date | Fri, 4 Jul 2014 12:54:31 +0200 | From | Joerg Roedel <> | Subject | Re: [PATCH 2/3] iommu/fsl: Fix the device domain attach condition. |
| |
Hmm,
On Tue, Jun 24, 2014 at 07:27:16PM +0530, Varun Sethi wrote: > - old_domain_info = find_domain(dev); > + old_domain_info = dev->archdata.iommu_domain; > if (old_domain_info && old_domain_info->domain != dma_domain) { > spin_unlock_irqrestore(&device_domain_lock, flags); > detach_device(dev, old_domain_info->domain);
Wouldn't this set dev->archdata.iommu_domain to NULL anyway, so that ...
> @@ -399,7 +394,7 @@ static void attach_device(struct fsl_dma_domain *dma_domain, int liodn, struct d > * the info for the first LIODN as all > * LIODNs share the same domain > */ > - if (!old_domain_info) > + if (!dev->archdata.iommu_domain) > dev->archdata.iommu_domain = info;
We already know that it _must_ be NULL here?
> spin_unlock_irqrestore(&device_domain_lock, flags);
This would shrink down the patch to:
diff --git a/drivers/iommu/fsl_pamu_domain.c b/drivers/iommu/fsl_pamu_domain.c index 93072ba..d21b554 100644 --- a/drivers/iommu/fsl_pamu_domain.c +++ b/drivers/iommu/fsl_pamu_domain.c @@ -399,8 +399,7 @@ static void attach_device(struct fsl_dma_domain *dma_domain, int liodn, struct d * the info for the first LIODN as all * LIODNs share the same domain */ - if (!old_domain_info) - dev->archdata.iommu_domain = info; + dev->archdata.iommu_domain = info; spin_unlock_irqrestore(&device_domain_lock, flags); }
| |