Message ID | 1400150451-13469-3-git-send-email-laurent.pinchart+renesas@ideasonboard.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, May 15, 2014 at 12:40:43PM +0200, Laurent Pinchart wrote: > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > --- > drivers/iommu/ipmmu-vmsa.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/iommu/ipmmu-vmsa.c b/drivers/iommu/ipmmu-vmsa.c > index 49e00f7..49dbedd 100644 > --- a/drivers/iommu/ipmmu-vmsa.c > +++ b/drivers/iommu/ipmmu-vmsa.c > @@ -917,7 +917,8 @@ static int ipmmu_add_device(struct device *dev) > SZ_1G, SZ_2G); > if (IS_ERR(mapping)) { > dev_err(mmu->dev, "failed to create ARM IOMMU mapping\n"); > - return PTR_ERR(mapping); > + ret = PTR_ERR(mapping); > + goto error; > } > > mmu->mapping = mapping; > @@ -933,6 +934,7 @@ static int ipmmu_add_device(struct device *dev) > return 0; > > error: > + arm_iommu_release_mapping(mmu->mapping); > kfree(dev->archdata.iommu); > dev->archdata.iommu = NULL; > iommu_group_remove_device(dev); Skipped this one because it didn't apply. The others are applied.
Hi Joerg, On Monday 26 May 2014 11:23:11 Joerg Roedel wrote: > On Thu, May 15, 2014 at 12:40:43PM +0200, Laurent Pinchart wrote: > > Signed-off-by: Laurent Pinchart > > <laurent.pinchart+renesas@ideasonboard.com> > > --- > > > > drivers/iommu/ipmmu-vmsa.c | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/iommu/ipmmu-vmsa.c b/drivers/iommu/ipmmu-vmsa.c > > index 49e00f7..49dbedd 100644 > > --- a/drivers/iommu/ipmmu-vmsa.c > > +++ b/drivers/iommu/ipmmu-vmsa.c > > @@ -917,7 +917,8 @@ static int ipmmu_add_device(struct device *dev) > > SZ_1G, SZ_2G); > > if (IS_ERR(mapping)) { > > dev_err(mmu->dev, "failed to create ARM IOMMU mapping\n"); > > - return PTR_ERR(mapping); > > + ret = PTR_ERR(mapping); > > + goto error; > > } > > > > mmu->mapping = mapping; > > @@ -933,6 +934,7 @@ static int ipmmu_add_device(struct device *dev) > > return 0; > > > > error: > > + arm_iommu_release_mapping(mmu->mapping); > > kfree(dev->archdata.iommu); > > dev->archdata.iommu = NULL; > > iommu_group_remove_device(dev); > > Skipped this one because it didn't apply. The others are applied. Thank you. I'll rebase the patch on top of your tree as soon as you publish the related branch and resubmit.
Hi Laurent, On Mon, May 26, 2014 at 12:08:37PM +0200, Laurent Pinchart wrote: > > Skipped this one because it didn't apply. The others are applied. > > Thank you. I'll rebase the patch on top of your tree as soon as you publish > the related branch and resubmit. What happened to this patch? And how about the other iommu_domain changes requested. Will you submit them for 3.17? Joerg
Hi Joerg, On Monday 16 June 2014 17:11:42 Joerg Roedel wrote: > On Mon, May 26, 2014 at 12:08:37PM +0200, Laurent Pinchart wrote: > > > Skipped this one because it didn't apply. The others are applied. > > > > Thank you. I'll rebase the patch on top of your tree as soon as you > > publish the related branch and resubmit. > > What happened to this patch? It looks like it slipped through the cracks :-/ Should I submit it as a fix for v3.16 or wait until v3.17 ? > And how about the other iommu_domain changes requested. Will you submit them > for 3.17? I plan to work on that, but I'm not sure whether I'll be able to finish the work for v3.17, as I need to concentrate on a DMA engine driver right now, and will then need to finish the DT bindings for the IPMMU driver (which may result in fixes for some of the iommu_domain-related problems).
diff --git a/drivers/iommu/ipmmu-vmsa.c b/drivers/iommu/ipmmu-vmsa.c index 49e00f7..49dbedd 100644 --- a/drivers/iommu/ipmmu-vmsa.c +++ b/drivers/iommu/ipmmu-vmsa.c @@ -917,7 +917,8 @@ static int ipmmu_add_device(struct device *dev) SZ_1G, SZ_2G); if (IS_ERR(mapping)) { dev_err(mmu->dev, "failed to create ARM IOMMU mapping\n"); - return PTR_ERR(mapping); + ret = PTR_ERR(mapping); + goto error; } mmu->mapping = mapping; @@ -933,6 +934,7 @@ static int ipmmu_add_device(struct device *dev) return 0; error: + arm_iommu_release_mapping(mmu->mapping); kfree(dev->archdata.iommu); dev->archdata.iommu = NULL; iommu_group_remove_device(dev);
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> --- drivers/iommu/ipmmu-vmsa.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)