On Fri, May 15, 2015 at 04:09:54PM +0900, Alexandre Courbot wrote:
dma_alloc_coherent() can return memory in the vmalloc range. virt_to_page() cannot handle such addresses and crashes. This patch detects such cases and obtains the struct page * using vmalloc_to_page() instead.
Signed-off-by: Alexandre Courbot acourbot@nvidia.com
This patch is a follow-up of the following discussion:
https://www.marc.info/?l=dri-devel&m=141579595431254&w=3
It works for me on both 32-bit and 64-bit Tegra, so I am not convinced that Thierry's initial change from virt_to_page() to phys_to_page() is still required - Thierry, can you confirm whether your patch is still relevant after this one?
If this works for you on both 32-bit and 64-bit Tegra I don't think the earlier patch is still relevant and this looks indeed like a much more appropriate solution.
Thierry