Hi Suman,

Thank you for the patch.

On Thursday 04 September 2014 17:27:30 Suman Anna wrote:
> A device is tied to an iommu through its archdata field. The archdata
> is allocated on the fly for DT-based devices automatically through the
> .add_device iommu ops. The current logic incorrectly assigned the name
> of the IOMMU user device, instead of the name of the IOMMU device as
> required by the attach logic. Fix this issue so that DT-based devices
> can attach successfully to an IOMMU domain.
> 
> Signed-off-by: Suman Anna <s-a...@ti.com>

Acked-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>

> ---
>  drivers/iommu/omap-iommu.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c
> index ea6e59d..8cf8bf1 100644
> --- a/drivers/iommu/omap-iommu.c
> +++ b/drivers/iommu/omap-iommu.c
> @@ -26,6 +26,7 @@
>  #include <linux/of.h>
>  #include <linux/of_iommu.h>
>  #include <linux/of_irq.h>
> +#include <linux/of_platform.h>
> 
>  #include <asm/cacheflush.h>
> 
> @@ -1243,6 +1244,7 @@ static int omap_iommu_add_device(struct device *dev)
>  {
>       struct omap_iommu_arch_data *arch_data;
>       struct device_node *np;
> +     struct platform_device *pdev;
> 
>       /*
>        * Allocate the archdata iommu structure for DT-based devices.
> @@ -1257,13 +1259,19 @@ static int omap_iommu_add_device(struct device *dev)
> if (!np)
>               return 0;
> 
> +     pdev = of_find_device_by_node(np);
> +     if (WARN_ON(!pdev)) {
> +             of_node_put(np);
> +             return -EINVAL;
> +     }
> +
>       arch_data = kzalloc(sizeof(*arch_data), GFP_KERNEL);
>       if (!arch_data) {
>               of_node_put(np);
>               return -ENOMEM;
>       }
> 
> -     arch_data->name = kstrdup(dev_name(dev), GFP_KERNEL);
> +     arch_data->name = kstrdup(dev_name(&pdev->dev), GFP_KERNEL);
>       dev->archdata.iommu = arch_data;
> 
>       of_node_put(np);

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to