[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 2/3] xen/arm: reimplement xen_dma_unmap_page & friends
On Fri, 8 Aug 2014, Thomas Leonard wrote: > On 8 August 2014 15:38, Wei Liu <wei.liu2@xxxxxxxxxx> 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. That's the patch for you: diff --git a/arch/arm/xen/mm32.c b/arch/arm/xen/mm32.c index 534f362..3b99860 100644 --- a/arch/arm/xen/mm32.c +++ b/arch/arm/xen/mm32.c @@ -131,7 +131,7 @@ static void __xen_dma_page_dev_to_cpu(struct device *hwdev, dma_addr_t handle, /* Cannot use __dma_page_dev_to_cpu because we don't have a * struct page for handle */ - if (dir == DMA_TO_DEVICE) + if (dir != DMA_TO_DEVICE) outer_inv_range(handle, handle + size); dma_cache_maint(handle & PAGE_MASK, handle & ~PAGE_MASK, size, dir, dmac_unmap_area); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |