lkml.org 
[lkml]   [2014]   [Jul]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [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);

    }



    \
     
     \ /
      Last update: 2014-07-04 13:41    [W:4.421 / U:0.392 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site