]> git.karo-electronics.de Git - karo-tx-linux.git/commit
drm: prime: fix refcounting on the dmabuf import error path
authorImre Deak <imre.deak@intel.com>
Fri, 19 Apr 2013 01:11:56 +0000 (11:11 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 May 2013 14:18:26 +0000 (07:18 -0700)
commitc8ff23058da988cfc4b1654178ed9c926b62a10e
tree19fee38323561dd92833454e5d18fc291fb4b45a
parent6f1e6342efdecfa0fb47dc24ecfb7ecb871ee65e
drm: prime: fix refcounting on the dmabuf import error path

commit 011c2282c74db120f01a8414edc66c3f217f5511 upstream.

In commit be8a42ae60 we inroduced a refcount problem, where on the
drm_gem_prime_fd_to_handle() error path we'll call dma_buf_put() for
self imported dma buffers.

Fix this by taking a reference on the dma buffer in the .gem_import
hook instead of assuming the caller had taken one. Besides fixing the
bug this is also more logical.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/drm_prime.c
drivers/gpu/drm/exynos/exynos_drm_dmabuf.c
drivers/gpu/drm/i915/i915_gem_dmabuf.c
drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
drivers/gpu/drm/udl/udl_gem.c