From: Nick Ewalt Date: Mon, 17 Sep 2018 12:39:01 +0000 (-0700) Subject: staging: gasket: page_table: don't unmap coherent pages X-Git-Tag: v4.20-rc1~72^2~368 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f8b6a076610f4eb44b0b02c110b7e6f981d7cdc2;p=thirdparty%2Fkernel%2Flinux.git 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 Signed-off-by: Todd Poynor Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/gasket/gasket_page_table.c b/drivers/staging/gasket/gasket_page_table.c index 8fe27e7d1b53c..33d98043953a5 100644 --- a/drivers/staging/gasket/gasket_page_table.c +++ b/drivers/staging/gasket/gasket_page_table.c @@ -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); }