summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/os/linux/linux-dma.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/os/linux/linux-dma.c')
-rw-r--r--drivers/gpu/nvgpu/os/linux/linux-dma.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/os/linux/linux-dma.c b/drivers/gpu/nvgpu/os/linux/linux-dma.c
index 52987a87..d704b2a4 100644
--- a/drivers/gpu/nvgpu/os/linux/linux-dma.c
+++ b/drivers/gpu/nvgpu/os/linux/linux-dma.c
@@ -392,8 +392,10 @@ void nvgpu_dma_free_sys(struct gk20a *g, struct nvgpu_mem *mem)
392 if (mem->mem_flags & __NVGPU_MEM_FLAG_NO_DMA) 392 if (mem->mem_flags & __NVGPU_MEM_FLAG_NO_DMA)
393 nvgpu_kfree(g, mem->priv.pages); 393 nvgpu_kfree(g, mem->priv.pages);
394 394
395 if (mem->priv.sgt) 395 if ((mem->mem_flags & NVGPU_MEM_FLAG_FOREIGN_SGT) == 0 &&
396 mem->priv.sgt != NULL) {
396 nvgpu_free_sgtable(g, &mem->priv.sgt); 397 nvgpu_free_sgtable(g, &mem->priv.sgt);
398 }
397 399
398 dma_dbg_free_done(g, mem->size, "sysmem"); 400 dma_dbg_free_done(g, mem->size, "sysmem");
399 401