staging: gasket: page_table: don't unmap coherent pages

Only call dma_unmap_page if there was an associated dma_map_page call.

Signed-off-by: Nick Ewalt <nicholasewalt@google.com>
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Nick Ewalt 2018-09-17 05:39:01 -07:00 committed by Greg Kroah-Hartman
parent d2118f8e93
commit f8b6a07661

View file

@ -610,7 +610,7 @@ static void gasket_perform_unmapping(struct gasket_page_table *pg_tbl,
/* release the address from the driver, */
if (ptes[i].status == PTE_INUSE) {
if (ptes[i].dma_addr) {
if (ptes[i].page && ptes[i].dma_addr) {
dma_unmap_page(pg_tbl->device, ptes[i].dma_addr,
PAGE_SIZE, DMA_BIDIRECTIONAL);
}