From 920b704ec73e6783ae7b30a9cfd35f0c9454f39d Mon Sep 17 00:00:00 2001 From: Vedashree Vidwans Date: Tue, 10 Sep 2019 15:07:17 +0800 Subject: [PATCH] gpu: nvgpu: put memory ref count Put dma buffer ref count for all vm buffer mapping fail conditions. Bug 200531152 Change-Id: I6bfad867eb9bd636a48b5ceb3a4417a80994a3ec Signed-off-by: Vedashree Vidwans Original Author: Bruce Xu Reviewed-on: https://git-master.nvidia.com/r/2194025 (cherry picked from commit f85504ae46d65d5346d9e2a5cc84ffb960ba9fb7) Reviewed-on: https://git-master.nvidia.com/r/2195439 Reviewed-by: Deepak Nibade Reviewed-by: Alex Waterman Reviewed-by: Vinod Gopalakrishnakurup GVS: Gerrit_Virtual_Submit Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/os/linux/vm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/nvgpu/os/linux/vm.c b/drivers/gpu/nvgpu/os/linux/vm.c index cbc11ba26..e5c469282 100644 --- a/drivers/gpu/nvgpu/os/linux/vm.c +++ b/drivers/gpu/nvgpu/os/linux/vm.c @@ -283,6 +283,7 @@ int nvgpu_vm_map_buffer(struct vm_gk20a *vm, (buffer_offset || *map_addr)) { nvgpu_err(g, "Regular map with addr/buf offset is not supported!"); + dma_buf_put(dmabuf); return -EINVAL; } @@ -292,6 +293,7 @@ int nvgpu_vm_map_buffer(struct vm_gk20a *vm, */ if (mapping_size && !(flags & NVGPU_AS_MAP_BUFFER_FLAGS_FIXED_OFFSET)) { nvgpu_err(g, "map_size && non-fixed-mapping!"); + dma_buf_put(dmabuf); return -EINVAL; }