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.

Reply via email to