Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1448644 > unrolled thread

[PATCH 0/4] GPU-DRM-Etnaviv: Fine-tuning for a few functions

Started bySF Markus Elfring <elfring@users.sourceforge.net>
First post2016-07-22 17:50 +0200
Last post2016-07-22 19:50 +0200
Articles 10 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 0/4] GPU-DRM-Etnaviv: Fine-tuning for a few functions SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-22 17:50 +0200
    [PATCH 2/4] GPU-DRM-Etnaviv: Delete unnecessary if statement in  __etnaviv_gem_new() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-22 17:50 +0200
      Re: [PATCH 2/4] GPU-DRM-Etnaviv: Delete unnecessary if statement  in __etnaviv_gem_new() walter harms <wharms@bfs.de> - 2016-07-22 18:50 +0200
        [PATCH] drm/etnaviv: Improve readability in __etnaviv_gem_new Sean Paul <seanpaul@chromium.org> - 2016-07-22 19:50 +0200
    [PATCH 1/4] GPU-DRM-Etnaviv: Delete unnecessary checks before two  function calls SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-22 17:50 +0200
      Re: [PATCH 1/4] GPU-DRM-Etnaviv: Delete unnecessary checks before two  function calls Sean Paul <seanpaul@chromium.org> - 2016-07-22 20:00 +0200
    [PATCH 4/4] GPU-DRM-Etnaviv: Optimize error handling in  etnaviv_gem_new_userptr() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-22 18:00 +0200
      Re: [PATCH 4/4] GPU-DRM-Etnaviv: Optimize error handling in etnaviv_gem_new_userptr() Sean Paul <seanpaul@chromium.org> - 2016-07-22 20:00 +0200
    [PATCH 3/4] GPU-DRM-Etnaviv: Rename jump labels SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-22 18:00 +0200
      Re: [PATCH 3/4] GPU-DRM-Etnaviv: Rename jump labels Sean Paul <seanpaul@chromium.org> - 2016-07-22 19:50 +0200

#1448644 — [PATCH 0/4] GPU-DRM-Etnaviv: Fine-tuning for a few functions

FromSF Markus Elfring <elfring@users.sourceforge.net>
Date2016-07-22 17:50 +0200
Subject[PATCH 0/4] GPU-DRM-Etnaviv: Fine-tuning for a few functions
Message-ID<rXKS5-7EN-3@gated-at.bofh.it>
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Fri, 22 Jul 2016 17:34:32 +0200

Further update suggestions were taken into account
after a patch was applied from static source code analysis.

Markus Elfring (4):
  Delete unnecessary checks before two function calls
  Delete unnecessary if statement in __etnaviv_gem_new()
  Rename jump labels
  Optimize error handling in etnaviv_gem_new_userptr()

 drivers/gpu/drm/etnaviv/etnaviv_gem.c | 36 +++++++++++++----------------------
 1 file changed, 13 insertions(+), 23 deletions(-)

-- 
2.9.2

[toc] | [next] | [standalone]


#1448646 — [PATCH 2/4] GPU-DRM-Etnaviv: Delete unnecessary if statement in __etnaviv_gem_new()

FromSF Markus Elfring <elfring@users.sourceforge.net>
Date2016-07-22 17:50 +0200
Subject[PATCH 2/4] GPU-DRM-Etnaviv: Delete unnecessary if statement in __etnaviv_gem_new()
Message-ID<rXKS6-7EN-13@gated-at.bofh.it>
In reply to#1448644
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Fri, 22 Jul 2016 16:45:22 +0200

Move a return statement into a block for successful function execution.
Omit a duplicate check for the local variable "ret" then at the end.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 drivers/gpu/drm/etnaviv/etnaviv_gem.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
index 8eee742..851a8ba 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
@@ -661,13 +661,9 @@ static struct drm_gem_object *__etnaviv_gem_new(struct drm_device *dev,
 		 */
 		mapping = obj->filp->f_mapping;
 		mapping_set_gfp_mask(mapping, GFP_HIGHUSER);
+		return obj;
 	}
 
-	if (ret)
-		goto fail;
-
-	return obj;
-
 fail:
 	drm_gem_object_unreference_unlocked(obj);
 	return ERR_PTR(ret);
-- 
2.9.2

[toc] | [prev] | [next] | [standalone]


#1448670 — Re: [PATCH 2/4] GPU-DRM-Etnaviv: Delete unnecessary if statement in __etnaviv_gem_new()

Fromwalter harms <wharms@bfs.de>
Date2016-07-22 18:50 +0200
SubjectRe: [PATCH 2/4] GPU-DRM-Etnaviv: Delete unnecessary if statement in __etnaviv_gem_new()
Message-ID<rXLO9-8dt-7@gated-at.bofh.it>
In reply to#1448646

Am 22.07.2016 17:48, schrieb SF Markus Elfring:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Fri, 22 Jul 2016 16:45:22 +0200
> 
> Move a return statement into a block for successful function execution.
> Omit a duplicate check for the local variable "ret" then at the end.
> 
> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> ---
>  drivers/gpu/drm/etnaviv/etnaviv_gem.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> index 8eee742..851a8ba 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> @@ -661,13 +661,9 @@ static struct drm_gem_object *__etnaviv_gem_new(struct drm_device *dev,
>  		 */
>  		mapping = obj->filp->f_mapping;
>  		mapping_set_gfp_mask(mapping, GFP_HIGHUSER);
> +		return obj;
>  	}
>  
> -	if (ret)
> -		goto fail;
> -
> -	return obj;
> -
>  fail:
>  	drm_gem_object_unreference_unlocked(obj);
>  	return ERR_PTR(ret);


From the program flow an readability it would be more nice the branch on error

 ret = drm_gem_object_init(dev, obj, size);
 if (ret)
	goto fail;


just m 2 cents

re,
 wh

[toc] | [prev] | [next] | [standalone]


#1448687 — [PATCH] drm/etnaviv: Improve readability in __etnaviv_gem_new

FromSean Paul <seanpaul@chromium.org>
Date2016-07-22 19:50 +0200
Subject[PATCH] drm/etnaviv: Improve readability in __etnaviv_gem_new
Message-ID<rXMKe-r1-15@gated-at.bofh.it>
In reply to#1448670
Move things around a little in __etnaviv_gem_new() to make it
more readable.

Reported-by: Markus Elfring <elfring@users.sourceforge.net>
Reported-by: walter harms <wharms@bfs.de>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
---
 drivers/gpu/drm/etnaviv/etnaviv_gem.c | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
index df9bcba..7d13628 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
@@ -640,6 +640,7 @@ static struct drm_gem_object *__etnaviv_gem_new(struct drm_device *dev,
 		u32 size, u32 flags)
 {
 	struct drm_gem_object *obj = NULL;
+	struct address_space *mapping;
 	int ret;
 
 	size = PAGE_ALIGN(size);
@@ -650,23 +651,19 @@ static struct drm_gem_object *__etnaviv_gem_new(struct drm_device *dev,
 		goto fail;
 
 	ret = drm_gem_object_init(dev, obj, size);
-	if (ret == 0) {
-		struct address_space *mapping;
-
-		/*
-		 * Our buffers are kept pinned, so allocating them
-		 * from the MOVABLE zone is a really bad idea, and
-		 * conflicts with CMA.  See coments above new_inode()
-		 * why this is required _and_ expected if you're
-		 * going to pin these pages.
-		 */
-		mapping = file_inode(obj->filp)->i_mapping;
-		mapping_set_gfp_mask(mapping, GFP_HIGHUSER);
-	}
-
 	if (ret)
 		goto fail;
 
+	/*
+	 * Our buffers are kept pinned, so allocating them
+	 * from the MOVABLE zone is a really bad idea, and
+	 * conflicts with CMA.  See coments above new_inode()
+	 * why this is required _and_ expected if you're
+	 * going to pin these pages.
+	 */
+	mapping = file_inode(obj->filp)->i_mapping;
+	mapping_set_gfp_mask(mapping, GFP_HIGHUSER);
+
 	return obj;
 
 fail:
-- 
2.8.0.rc3.226.g39d4020

[toc] | [prev] | [next] | [standalone]


#1448647 — [PATCH 1/4] GPU-DRM-Etnaviv: Delete unnecessary checks before two function calls

FromSF Markus Elfring <elfring@users.sourceforge.net>
Date2016-07-22 17:50 +0200
Subject[PATCH 1/4] GPU-DRM-Etnaviv: Delete unnecessary checks before two function calls
Message-ID<rXKS6-7EN-11@gated-at.bofh.it>
In reply to#1448644
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Fri, 22 Jul 2016 15:56:15 +0200

The functions drm_gem_object_unreference_unlocked() and vunmap() perform
also input parameter validation.
Thus the tests around their calls are not needed.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 drivers/gpu/drm/etnaviv/etnaviv_gem.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
index 8c6f750..8eee742 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
@@ -535,8 +535,7 @@ void etnaviv_gem_describe_objects(struct etnaviv_drm_private *priv,
 
 static void etnaviv_gem_shmem_release(struct etnaviv_gem_object *etnaviv_obj)
 {
-	if (etnaviv_obj->vaddr)
-		vunmap(etnaviv_obj->vaddr);
+	vunmap(etnaviv_obj->vaddr);
 	put_pages(etnaviv_obj);
 }
 
@@ -670,9 +669,7 @@ static struct drm_gem_object *__etnaviv_gem_new(struct drm_device *dev,
 	return obj;
 
 fail:
-	if (obj)
-		drm_gem_object_unreference_unlocked(obj);
-
+	drm_gem_object_unreference_unlocked(obj);
 	return ERR_PTR(ret);
 }
 
-- 
2.9.2

[toc] | [prev] | [next] | [standalone]


#1448697 — Re: [PATCH 1/4] GPU-DRM-Etnaviv: Delete unnecessary checks before two function calls

FromSean Paul <seanpaul@chromium.org>
Date2016-07-22 20:00 +0200
SubjectRe: [PATCH 1/4] GPU-DRM-Etnaviv: Delete unnecessary checks before two function calls
Message-ID<rXMTU-xT-35@gated-at.bofh.it>
In reply to#1448647
On Fri, Jul 22, 2016 at 11:47 AM, SF Markus Elfring
<elfring@users.sourceforge.net> wrote:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Fri, 22 Jul 2016 15:56:15 +0200
>
> The functions drm_gem_object_unreference_unlocked() and vunmap() perform
> also input parameter validation.
> Thus the tests around their calls are not needed.
>
> This issue was detected by using the Coccinelle software.
>
> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>

Applied to drm-misc. In the future, could you please format your
subjects starting with "drm/<driver>"? I've fixed this one and the
next, but it'd be nice not to have to do that going forward.

> ---
>  drivers/gpu/drm/etnaviv/etnaviv_gem.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> index 8c6f750..8eee742 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> @@ -535,8 +535,7 @@ void etnaviv_gem_describe_objects(struct etnaviv_drm_private *priv,
>
>  static void etnaviv_gem_shmem_release(struct etnaviv_gem_object *etnaviv_obj)
>  {
> -       if (etnaviv_obj->vaddr)
> -               vunmap(etnaviv_obj->vaddr);
> +       vunmap(etnaviv_obj->vaddr);
>         put_pages(etnaviv_obj);
>  }
>
> @@ -670,9 +669,7 @@ static struct drm_gem_object *__etnaviv_gem_new(struct drm_device *dev,
>         return obj;
>
>  fail:
> -       if (obj)
> -               drm_gem_object_unreference_unlocked(obj);
> -
> +       drm_gem_object_unreference_unlocked(obj);
>         return ERR_PTR(ret);
>  }
>
> --
> 2.9.2
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

[toc] | [prev] | [next] | [standalone]


#1448649 — [PATCH 4/4] GPU-DRM-Etnaviv: Optimize error handling in etnaviv_gem_new_userptr()

FromSF Markus Elfring <elfring@users.sourceforge.net>
Date2016-07-22 18:00 +0200
Subject[PATCH 4/4] GPU-DRM-Etnaviv: Optimize error handling in etnaviv_gem_new_userptr()
Message-ID<rXL1L-7Ib-5@gated-at.bofh.it>
In reply to#1448644
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Fri, 22 Jul 2016 17:17:48 +0200

Refactor this function implementation so that the
drm_gem_object_unreference_unlocked() function will only be called once
in case of a failure according to the Linux coding style recommendation
for centralized exiting of functions.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 drivers/gpu/drm/etnaviv/etnaviv_gem.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
index 0a5c00c..007577c 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
@@ -909,15 +909,12 @@ int etnaviv_gem_new_userptr(struct drm_device *dev, struct drm_file *file,
 	get_task_struct(current);
 
 	ret = etnaviv_gem_obj_add(dev, &etnaviv_obj->base);
-	if (ret) {
-		drm_gem_object_unreference_unlocked(&etnaviv_obj->base);
-		return ret;
-	}
+	if (ret)
+		goto unreference;
 
 	ret = drm_gem_handle_create(file, &etnaviv_obj->base, handle);
-
+unreference:
 	/* drop reference from allocate - handle holds it now */
 	drm_gem_object_unreference_unlocked(&etnaviv_obj->base);
-
 	return ret;
 }
-- 
2.9.2

[toc] | [prev] | [next] | [standalone]


#1448696 — Re: [PATCH 4/4] GPU-DRM-Etnaviv: Optimize error handling in etnaviv_gem_new_userptr()

FromSean Paul <seanpaul@chromium.org>
Date2016-07-22 20:00 +0200
SubjectRe: [PATCH 4/4] GPU-DRM-Etnaviv: Optimize error handling in etnaviv_gem_new_userptr()
Message-ID<rXMTU-xT-17@gated-at.bofh.it>
In reply to#1448649
On Fri, Jul 22, 2016 at 11:51 AM, SF Markus Elfring
<elfring@users.sourceforge.net> wrote:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Fri, 22 Jul 2016 17:17:48 +0200
>
> Refactor this function implementation so that the
> drm_gem_object_unreference_unlocked() function will only be called once
> in case of a failure according to the Linux coding style recommendation
> for centralized exiting of functions.
>
> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>

Applied to drm-misc. In the future, could you please format your
subjects starting with "drm/<driver>"? I've fixed this one and the
first, but it'd be nice not to have to do that going forward.

Sean

> ---
>  drivers/gpu/drm/etnaviv/etnaviv_gem.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> index 0a5c00c..007577c 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> @@ -909,15 +909,12 @@ int etnaviv_gem_new_userptr(struct drm_device *dev, struct drm_file *file,
>         get_task_struct(current);
>
>         ret = etnaviv_gem_obj_add(dev, &etnaviv_obj->base);
> -       if (ret) {
> -               drm_gem_object_unreference_unlocked(&etnaviv_obj->base);
> -               return ret;
> -       }
> +       if (ret)
> +               goto unreference;
>
>         ret = drm_gem_handle_create(file, &etnaviv_obj->base, handle);
> -
> +unreference:
>         /* drop reference from allocate - handle holds it now */
>         drm_gem_object_unreference_unlocked(&etnaviv_obj->base);
> -
>         return ret;
>  }
> --
> 2.9.2
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

[toc] | [prev] | [next] | [standalone]


#1448652 — [PATCH 3/4] GPU-DRM-Etnaviv: Rename jump labels

FromSF Markus Elfring <elfring@users.sourceforge.net>
Date2016-07-22 18:00 +0200
Subject[PATCH 3/4] GPU-DRM-Etnaviv: Rename jump labels
Message-ID<rXL1M-7Ib-15@gated-at.bofh.it>
In reply to#1448644
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Fri, 22 Jul 2016 16:51:00 +0200

Adjust jump targets according to the Linux coding style convention.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 drivers/gpu/drm/etnaviv/etnaviv_gem.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
index 851a8ba..0a5c00c 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
@@ -308,17 +308,17 @@ struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
 				mapping = NULL;
 			mutex_unlock(&gpu->mmu->lock);
 			if (mapping)
-				goto out;
+				goto unlock;
 		} else {
 			mapping->use += 1;
-			goto out;
+			goto unlock;
 		}
 	}
 
 	pages = etnaviv_gem_get_pages(etnaviv_obj);
 	if (IS_ERR(pages)) {
 		ret = PTR_ERR(pages);
-		goto out;
+		goto unlock;
 	}
 
 	/*
@@ -330,7 +330,7 @@ struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
 		mapping = kzalloc(sizeof(*mapping), GFP_KERNEL);
 		if (!mapping) {
 			ret = -ENOMEM;
-			goto out;
+			goto unlock;
 		}
 
 		INIT_LIST_HEAD(&mapping->scan_node);
@@ -349,7 +349,7 @@ struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
 	else
 		list_add_tail(&mapping->obj_node, &etnaviv_obj->vram_list);
 
-out:
+unlock:
 	mutex_unlock(&etnaviv_obj->lock);
 
 	if (ret)
@@ -646,7 +646,7 @@ static struct drm_gem_object *__etnaviv_gem_new(struct drm_device *dev,
 	ret = etnaviv_gem_new_impl(dev, size, flags, NULL,
 				   &etnaviv_gem_shmem_ops, &obj);
 	if (ret)
-		goto fail;
+		goto unreference;
 
 	ret = drm_gem_object_init(dev, obj, size);
 	if (ret == 0) {
@@ -664,7 +664,7 @@ static struct drm_gem_object *__etnaviv_gem_new(struct drm_device *dev,
 		return obj;
 	}
 
-fail:
+unreference:
 	drm_gem_object_unreference_unlocked(obj);
 	return ERR_PTR(ret);
 }
-- 
2.9.2

[toc] | [prev] | [next] | [standalone]


#1448691 — Re: [PATCH 3/4] GPU-DRM-Etnaviv: Rename jump labels

FromSean Paul <seanpaul@chromium.org>
Date2016-07-22 19:50 +0200
SubjectRe: [PATCH 3/4] GPU-DRM-Etnaviv: Rename jump labels
Message-ID<rXMKe-r1-21@gated-at.bofh.it>
In reply to#1448652
On Fri, Jul 22, 2016 at 11:50 AM, SF Markus Elfring
<elfring@users.sourceforge.net> wrote:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Fri, 22 Jul 2016 16:51:00 +0200
>
> Adjust jump targets according to the Linux coding style convention.
>

I'm not convinced the old labels are really that bad, tbh.

Sean

> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> ---
>  drivers/gpu/drm/etnaviv/etnaviv_gem.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> index 851a8ba..0a5c00c 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> @@ -308,17 +308,17 @@ struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
>                                 mapping = NULL;
>                         mutex_unlock(&gpu->mmu->lock);
>                         if (mapping)
> -                               goto out;
> +                               goto unlock;
>                 } else {
>                         mapping->use += 1;
> -                       goto out;
> +                       goto unlock;
>                 }
>         }
>
>         pages = etnaviv_gem_get_pages(etnaviv_obj);
>         if (IS_ERR(pages)) {
>                 ret = PTR_ERR(pages);
> -               goto out;
> +               goto unlock;
>         }
>
>         /*
> @@ -330,7 +330,7 @@ struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
>                 mapping = kzalloc(sizeof(*mapping), GFP_KERNEL);
>                 if (!mapping) {
>                         ret = -ENOMEM;
> -                       goto out;
> +                       goto unlock;
>                 }
>
>                 INIT_LIST_HEAD(&mapping->scan_node);
> @@ -349,7 +349,7 @@ struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
>         else
>                 list_add_tail(&mapping->obj_node, &etnaviv_obj->vram_list);
>
> -out:
> +unlock:
>         mutex_unlock(&etnaviv_obj->lock);
>
>         if (ret)
> @@ -646,7 +646,7 @@ static struct drm_gem_object *__etnaviv_gem_new(struct drm_device *dev,
>         ret = etnaviv_gem_new_impl(dev, size, flags, NULL,
>                                    &etnaviv_gem_shmem_ops, &obj);
>         if (ret)
> -               goto fail;
> +               goto unreference;
>
>         ret = drm_gem_object_init(dev, obj, size);
>         if (ret == 0) {
> @@ -664,7 +664,7 @@ static struct drm_gem_object *__etnaviv_gem_new(struct drm_device *dev,
>                 return obj;
>         }
>
> -fail:
> +unreference:
>         drm_gem_object_unreference_unlocked(obj);
>         return ERR_PTR(ret);
>  }
> --
> 2.9.2
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web