From: Laura Abbott Date: Thu, 2 Aug 2012 01:06:18 +0000 (-0700) Subject: gpu: ion: Don't call ion_buffer_put on error path X-Git-Tag: firefly_0821_release~4090^2~697 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=23aedd872e776de5529ff3fd756cff16b4420aef;p=firefly-linux-kernel-4.4.55.git gpu: ion: Don't call ion_buffer_put on error path If dma_buf_fd fails, the dma_buf needs to be cleaned up by calling dma_buf_put. dma_buf_put will call ion_dma_buf_release which in turn calls ion_buffer_put to clean up the buffer reference. Calling ion_buffer_put after dma_buf_put drops the reference count by one more which is incorrect. Fix this by getting rid of the extra ion_buffer_put call. Change-Id: Ieb3a7b781bf2dc299c45384dbf0a12d186adeb22 Signed-off-by: Laura Abbott --- diff --git a/drivers/gpu/ion/ion.c b/drivers/gpu/ion/ion.c index abfe15c87458..658c9ce5c9c6 100644 --- a/drivers/gpu/ion/ion.c +++ b/drivers/gpu/ion/ion.c @@ -925,10 +925,9 @@ int ion_share_dma_buf(struct ion_client *client, struct ion_handle *handle) return PTR_ERR(dmabuf); } fd = dma_buf_fd(dmabuf, O_CLOEXEC); - if (fd < 0) { + if (fd < 0) dma_buf_put(dmabuf); - ion_buffer_put(buffer); - } + return fd; } EXPORT_SYMBOL(ion_share_dma_buf);