.. .. @@ -93,7 +93,15 @@ 93 93 static int etnaviv_gem_prime_mmap_obj(struct etnaviv_gem_object *etnaviv_obj, 94 94 struct vm_area_struct *vma) 95 95 { 96 - return dma_buf_mmap(etnaviv_obj->base.dma_buf, vma, 0);96 + int ret;97 +98 + ret = dma_buf_mmap(etnaviv_obj->base.dma_buf, vma, 0);99 + if (!ret) {100 + /* Drop the reference acquired by drm_gem_mmap_obj(). */101 + drm_gem_object_put(&etnaviv_obj->base);102 + }103 +104 + return ret;97 105 } 98 106 99 107 static const struct etnaviv_gem_ops etnaviv_gem_prime_ops = {