Commit 912b8a81 authored by Nick Ewalt's avatar Nick Ewalt Committed by Greg Kroah-Hartman
Browse files

staging: gasket: fix DMA direction for extended page tables



Extended page tables should be mapped as DMA_TO_DEVICE, not
bi-directional.

Signed-off-by: default avatarNick Ewalt <nicholasewalt@google.com>
Signed-off-by: default avatarTodd Poynor <toddpoynor@google.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 45dd9954
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -320,7 +320,7 @@ static void gasket_free_extended_subtable(struct gasket_page_table *pg_tbl,

	if (pte->dma_addr)
		dma_unmap_page(pg_tbl->device, pte->dma_addr, PAGE_SIZE,
			       DMA_BIDIRECTIONAL);
			       DMA_TO_DEVICE);

	vfree(pte->sublevel);

@@ -894,7 +894,7 @@ static int gasket_alloc_extended_subtable(struct gasket_page_table *pg_tbl,

	/* Map the page into DMA space. */
	pte->dma_addr = dma_map_page(pg_tbl->device, pte->page, 0, PAGE_SIZE,
				     DMA_BIDIRECTIONAL);
				     DMA_TO_DEVICE);

	/* make the addresses available to the device */
	dma_addr = (pte->dma_addr + pte->offset) | GASKET_VALID_SLOT_FLAG;