From: Russell King <rmk+ker...@arm.linux.org.uk>

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 at arm.linux.org.uk>
---
 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

Reply via email to