Re: [PATCH V3 6/8] arm: dma-mapping: Reset the device's dma_ops

Sricharan R
2017-05-26T05:18:53Z

Hi Russell,

On 5/25/2017 8:35 PM, Russell King - ARM Linux wrote:
> On Wed, May 24, 2017 at 02:26:13PM +0300, Laurent Pinchart wrote:
>> Again, the patch I propose is the simplest v4.12-rc fix I can think of, short
>> of reverting your complete IOMMU probe deferral patch series. Let's focus on
>> the v4.12-rc fix, and then discuss how to move forward in v4.13 and beyond.
>
> Except, I don't think it fixes the problem that Sricharan is trying to
> fix, namely that of DMA ops that have been setup, torn down, and are
> trying to be re-setup again. The issue here is that results in a stale
> setup, because the dma_ops are left in-place from the first iommu setup,
> but the iommu mapping has been disposed of.
>
> Your patch only avoids the problem of tearing down someone else's DMA
> ops. We need a combination of both patches together.
>
> What needs to happen for Sricharan's problem to be resolved is:
>
> 1. move all of __arm_iommu_detach_device() into arm_iommu_detach_device().
> 2. replace the __arm_iommu_detach_device() call in arm_teardown_iommu_dma_ops()
> with arm_iommu_detach_device().
>
> as I don't see any need to have a different order in
> arm_teardown_iommu_dma_ops().
>

Right, both patches are required and i was also thining the same thing about
using arm_iommu_detach_device from arm_teardown_iommu_dma_ops instead. Will
repost with this.

Regards,
Sricharan

--
"QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation