From: Todd Poynor <toddpoy...@google.com> coherent address mappings aren't backed by a struct page, don't need to be released, and don't count as an active page in the page table bookkeeping.
Signed-off-by: Simon Que <s...@chromium.org> Signed-off-by: Todd Poynor <toddpoy...@google.com> --- drivers/staging/gasket/gasket_page_table.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/gasket/gasket_page_table.c b/drivers/staging/gasket/gasket_page_table.c index dcd52e141f95..e71baa11c8de 100644 --- a/drivers/staging/gasket/gasket_page_table.c +++ b/drivers/staging/gasket/gasket_page_table.c @@ -1233,7 +1233,7 @@ static void gasket_perform_unmapping( dma_unmap_page(pg_tbl->device, ptes[i].dma_addr, PAGE_SIZE, DMA_FROM_DEVICE); } - if (gasket_release_page(ptes[i].page)) + if (ptes[i].page && gasket_release_page(ptes[i].page)) --pg_tbl->num_active_pages; } ptes[i].status = PTE_FREE; -- 2.18.0.203.gfac676dfb9-goog Resending, extracted from the previous stack of patches that needs other cleanups.