[PATCH v3 2/3] xen/arm: reimplement xen_dma_unmap_page & friends
Thomas Leonard
talex5 at gmail.com
Fri Aug 8 07:49:26 PDT 2014
On 8 August 2014 15:38, Wei Liu <wei.liu2 at citrix.com> wrote:
> On Fri, Aug 08, 2014 at 03:32:41PM +0100, Stefano Stabellini wrote:
>> On Fri, 1 Aug 2014, Stefano Stabellini wrote:
>> > +static void __xen_dma_page_dev_to_cpu(struct device *hwdev, dma_addr_t handle,
>> > + size_t size, enum dma_data_direction dir)
>> > +{
>> > + /* Cannot use __dma_page_dev_to_cpu because we don't have a
>> > + * struct page for handle */
>> > +
>> > + if (dir == DMA_TO_DEVICE)
>>
>> This should be:
>> if (dir != DMA_TO_DEVICE)
>>
>> Thomas, could you please confirm that with this small fix
>> http://pastebin.com/FPRf7pgL goes away?
>>
>
> Thomas, please try this fix with my ref-counting patch.
>
> The old "working" version might actually cover this latent bug due to
> it's long delay.
I'm not sure how to apply this. The function
"__xen_dma_page_dev_to_cpu" doesn't appear in your "for-thomas"
branch. If you push the change to that branch I can test it.
> Wei.
>
>>
>> > + outer_inv_range(handle, handle + size);
>> > +
>> > + dma_cache_maint(handle & PAGE_MASK, handle & ~PAGE_MASK, size, dir, dmac_unmap_area);
>> > +}
--
Dr Thomas Leonard http://0install.net/
GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA BD8E 0713 3F96 CA74 D8BA
More information about the linux-arm-kernel
mailing list