Subject: [PATCH] arm64: Remove pointless WARN_ON in DMA teardown

From: [email-masked] (Will Deacon)
Date: Wed, 26 Oct 2016 19:26:28 +0100

On Wed, Oct 26, 2016 at 07:19:31PM +0100, Robin Murphy wrote:
> We expect arch_teardown_dma_ops() to be called very late in a device's
> life, after it has been removed from its bus, and thus after the IOMMU
> bus notifier has run. As such, even if this funny little check did make
> sense, it's unlikely to achieve what it thinks it's trying to do anyway.
> It's a residual trace of an earlier implementation which didn't belong
> here from the start; belatedly snuff it out.
> 
> Signed-off-by: Robin Murphy <[email-masked]>
> ---
>  arch/arm64/mm/dma-mapping.c | 5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c
> index 5cd0a383b14b..290a84f3351f 100644
> --- a/arch/arm64/mm/dma-mapping.c
> +++ b/arch/arm64/mm/dma-mapping.c
> @@ -940,11 +940,6 @@ static void __iommu_setup_dma_ops(struct device *dev, u64 dma_base, u64 size,
>  
>  void arch_teardown_dma_ops(struct device *dev)
>  {
> -	struct iommu_domain *domain = iommu_get_domain_for_dev(dev);
> -
> -	if (WARN_ON(domain))
> -		iommu_detach_device(domain, dev);
> -
>  	dev->archdata.dma_ops = NULL;
>  }

Acked-by: Will Deacon <[email-masked]>

I guess Catalin will pick this up when he starts queueing things for
4.10.

Will