From: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> We always call drm_gem_object_release() from both etnaviv_free_cmd() and etnaviv_free_obj(). Move this to the parent function so it is done at one place only. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> --- drivers/staging/etnaviv/etnaviv_gem.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/staging/etnaviv/etnaviv_gem.c b/drivers/staging/etnaviv/etnaviv_gem.c index 58a56b9e7abc..827622588ffc 100644 --- a/drivers/staging/etnaviv/etnaviv_gem.c +++ b/drivers/staging/etnaviv/etnaviv_gem.c @@ -521,8 +521,6 @@ static void etnaviv_gem_cmd_release(struct etnaviv_gem_object *etnaviv_obj) { dma_free_coherent(etnaviv_obj->base.dev->dev, etnaviv_obj->base.size, etnaviv_obj->vaddr, etnaviv_obj->paddr); - - drm_gem_object_release(obj); } static const struct etnaviv_gem_ops etnaviv_gem_cmd_ops = { @@ -549,8 +547,6 @@ static void etnaviv_free_obj(struct drm_gem_object *obj) if (etnaviv_obj->resv == &etnaviv_obj->_resv) reservation_object_fini(etnaviv_obj->resv); - - drm_gem_object_release(obj); } static void etnaviv_gem_shmem_release(struct etnaviv_gem_object *etnaviv_obj) @@ -581,6 +577,8 @@ void etnaviv_gem_free_object(struct drm_gem_object *obj) else etnaviv_free_obj(obj); + drm_gem_object_release(obj); + kfree(etnaviv_obj); } -- 2.1.4 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel