linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] drm: more pre-decrement fixes
@ 2016-02-15 18:41 Rasmus Villemoes
  2016-02-15 18:41 ` [PATCH 1/3] drm/amdgpu: use post-decrement in error handling Rasmus Villemoes
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Rasmus Villemoes @ 2016-02-15 18:41 UTC (permalink / raw)
  To: dri-devel, linux-kernel; +Cc: Rasmus Villemoes

A few more cases where one should use post-decrement when unwinding,
this time found where the unwinding is done inside the setup loop
instead of after an error label.

Rasmus Villemoes (3):
  drm/amdgpu: use post-decrement in error handling
  drm/nouveau: use post-decrement in error handling
  drm/radeon: use post-decrement in error handling

 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +-
 drivers/gpu/drm/nouveau/nouveau_bo.c    | 2 +-
 drivers/gpu/drm/radeon/radeon_ttm.c     | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

-- 
2.1.4

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/3] drm/amdgpu: use post-decrement in error handling
  2016-02-15 18:41 [PATCH 0/3] drm: more pre-decrement fixes Rasmus Villemoes
@ 2016-02-15 18:41 ` Rasmus Villemoes
  2016-02-15 18:41 ` [PATCH 2/3] drm/nouveau: " Rasmus Villemoes
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Rasmus Villemoes @ 2016-02-15 18:41 UTC (permalink / raw)
  To: David Airlie; +Cc: Rasmus Villemoes, dri-devel, linux-kernel

We need to use post-decrement to get the pci_map_page undone also for
i==0, and to avoid some very unpleasant behaviour if pci_map_page
failed already at i==0.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 8a1752ff3d8e..e53558c25b6b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -712,7 +712,7 @@ static int amdgpu_ttm_tt_populate(struct ttm_tt *ttm)
 						       0, PAGE_SIZE,
 						       PCI_DMA_BIDIRECTIONAL);
 		if (pci_dma_mapping_error(adev->pdev, gtt->ttm.dma_address[i])) {
-			while (--i) {
+			while (i--) {
 				pci_unmap_page(adev->pdev, gtt->ttm.dma_address[i],
 					       PAGE_SIZE, PCI_DMA_BIDIRECTIONAL);
 				gtt->ttm.dma_address[i] = 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/3] drm/nouveau: use post-decrement in error handling
  2016-02-15 18:41 [PATCH 0/3] drm: more pre-decrement fixes Rasmus Villemoes
  2016-02-15 18:41 ` [PATCH 1/3] drm/amdgpu: use post-decrement in error handling Rasmus Villemoes
@ 2016-02-15 18:41 ` Rasmus Villemoes
  2016-02-19  3:32   ` Ben Skeggs
  2016-02-15 18:41 ` [PATCH 3/3] drm/radeon: " Rasmus Villemoes
  2016-02-16  8:21 ` [PATCH 0/3] drm: more pre-decrement fixes Christian König
  3 siblings, 1 reply; 7+ messages in thread
From: Rasmus Villemoes @ 2016-02-15 18:41 UTC (permalink / raw)
  To: David Airlie; +Cc: Rasmus Villemoes, dri-devel, linux-kernel

We need to use post-decrement to get the dma_map_page undone also for
i==0, and to avoid some very unpleasant behaviour if dma_map_page
failed already at i==0.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
---
 drivers/gpu/drm/nouveau/nouveau_bo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
index 78f520d05de9..e3acc35e3805 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
@@ -1520,7 +1520,7 @@ nouveau_ttm_tt_populate(struct ttm_tt *ttm)
 				    DMA_BIDIRECTIONAL);
 
 		if (dma_mapping_error(pdev, addr)) {
-			while (--i) {
+			while (i--) {
 				dma_unmap_page(pdev, ttm_dma->dma_address[i],
 					       PAGE_SIZE, DMA_BIDIRECTIONAL);
 				ttm_dma->dma_address[i] = 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/3] drm/radeon: use post-decrement in error handling
  2016-02-15 18:41 [PATCH 0/3] drm: more pre-decrement fixes Rasmus Villemoes
  2016-02-15 18:41 ` [PATCH 1/3] drm/amdgpu: use post-decrement in error handling Rasmus Villemoes
  2016-02-15 18:41 ` [PATCH 2/3] drm/nouveau: " Rasmus Villemoes
@ 2016-02-15 18:41 ` Rasmus Villemoes
  2016-02-16  8:21 ` [PATCH 0/3] drm: more pre-decrement fixes Christian König
  3 siblings, 0 replies; 7+ messages in thread
From: Rasmus Villemoes @ 2016-02-15 18:41 UTC (permalink / raw)
  To: Alex Deucher, Christian König, David Airlie
  Cc: Rasmus Villemoes, dri-devel, linux-kernel

We need to use post-decrement to get the pci_map_page undone also for
i==0, and to avoid some very unpleasant behaviour if pci_map_page
failed already at i==0.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
---
 drivers/gpu/drm/radeon/radeon_ttm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
index e34307459e50..e06ac546a90f 100644
--- a/drivers/gpu/drm/radeon/radeon_ttm.c
+++ b/drivers/gpu/drm/radeon/radeon_ttm.c
@@ -758,7 +758,7 @@ static int radeon_ttm_tt_populate(struct ttm_tt *ttm)
 						       0, PAGE_SIZE,
 						       PCI_DMA_BIDIRECTIONAL);
 		if (pci_dma_mapping_error(rdev->pdev, gtt->ttm.dma_address[i])) {
-			while (--i) {
+			while (i--) {
 				pci_unmap_page(rdev->pdev, gtt->ttm.dma_address[i],
 					       PAGE_SIZE, PCI_DMA_BIDIRECTIONAL);
 				gtt->ttm.dma_address[i] = 0;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/3] drm: more pre-decrement fixes
  2016-02-15 18:41 [PATCH 0/3] drm: more pre-decrement fixes Rasmus Villemoes
                   ` (2 preceding siblings ...)
  2016-02-15 18:41 ` [PATCH 3/3] drm/radeon: " Rasmus Villemoes
@ 2016-02-16  8:21 ` Christian König
  2016-02-16 15:06   ` Alex Deucher
  3 siblings, 1 reply; 7+ messages in thread
From: Christian König @ 2016-02-16  8:21 UTC (permalink / raw)
  To: Rasmus Villemoes, dri-devel, linux-kernel

Am 15.02.2016 um 19:41 schrieb Rasmus Villemoes:
> A few more cases where one should use post-decrement when unwinding,
> this time found where the unwinding is done inside the setup loop
> instead of after an error label.

Patch 1 and 3 are Reviewed-by: Christian König <christian.koenig@amd.com>.

Nice catch,
Christian.

>
> Rasmus Villemoes (3):
>    drm/amdgpu: use post-decrement in error handling
>    drm/nouveau: use post-decrement in error handling
>    drm/radeon: use post-decrement in error handling
>
>   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +-
>   drivers/gpu/drm/nouveau/nouveau_bo.c    | 2 +-
>   drivers/gpu/drm/radeon/radeon_ttm.c     | 2 +-
>   3 files changed, 3 insertions(+), 3 deletions(-)
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/3] drm: more pre-decrement fixes
  2016-02-16  8:21 ` [PATCH 0/3] drm: more pre-decrement fixes Christian König
@ 2016-02-16 15:06   ` Alex Deucher
  0 siblings, 0 replies; 7+ messages in thread
From: Alex Deucher @ 2016-02-16 15:06 UTC (permalink / raw)
  To: Christian König; +Cc: Rasmus Villemoes, Maling list - DRI developers, LKML

On Tue, Feb 16, 2016 at 3:21 AM, Christian König
<deathsimple@vodafone.de> wrote:
> Am 15.02.2016 um 19:41 schrieb Rasmus Villemoes:
>>
>> A few more cases where one should use post-decrement when unwinding,
>> this time found where the unwinding is done inside the setup loop
>> instead of after an error label.
>
>
> Patch 1 and 3 are Reviewed-by: Christian König <christian.koenig@amd.com>.

Patches 1 and 3 applied.  thanks!

Alex

>
> Nice catch,
> Christian.
>
>>
>> Rasmus Villemoes (3):
>>    drm/amdgpu: use post-decrement in error handling
>>    drm/nouveau: use post-decrement in error handling
>>    drm/radeon: use post-decrement in error handling
>>
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +-
>>   drivers/gpu/drm/nouveau/nouveau_bo.c    | 2 +-
>>   drivers/gpu/drm/radeon/radeon_ttm.c     | 2 +-
>>   3 files changed, 3 insertions(+), 3 deletions(-)
>>
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/3] drm/nouveau: use post-decrement in error handling
  2016-02-15 18:41 ` [PATCH 2/3] drm/nouveau: " Rasmus Villemoes
@ 2016-02-19  3:32   ` Ben Skeggs
  0 siblings, 0 replies; 7+ messages in thread
From: Ben Skeggs @ 2016-02-19  3:32 UTC (permalink / raw)
  To: Rasmus Villemoes, David Airlie; +Cc: linux-kernel, dri-devel

[-- Attachment #1: Type: text/plain, Size: 1003 bytes --]

On 02/16/2016 04:41 AM, Rasmus Villemoes wrote:
> We need to use post-decrement to get the dma_map_page undone also for
> i==0, and to avoid some very unpleasant behaviour if dma_map_page
> failed already at i==0.
> 
> Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>

> ---
>  drivers/gpu/drm/nouveau/nouveau_bo.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
> index 78f520d05de9..e3acc35e3805 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_bo.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
> @@ -1520,7 +1520,7 @@ nouveau_ttm_tt_populate(struct ttm_tt *ttm)
>  				    DMA_BIDIRECTIONAL);
>  
>  		if (dma_mapping_error(pdev, addr)) {
> -			while (--i) {
> +			while (i--) {
>  				dma_unmap_page(pdev, ttm_dma->dma_address[i],
>  					       PAGE_SIZE, DMA_BIDIRECTIONAL);
>  				ttm_dma->dma_address[i] = 0;
> 


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-02-19  3:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-15 18:41 [PATCH 0/3] drm: more pre-decrement fixes Rasmus Villemoes
2016-02-15 18:41 ` [PATCH 1/3] drm/amdgpu: use post-decrement in error handling Rasmus Villemoes
2016-02-15 18:41 ` [PATCH 2/3] drm/nouveau: " Rasmus Villemoes
2016-02-19  3:32   ` Ben Skeggs
2016-02-15 18:41 ` [PATCH 3/3] drm/radeon: " Rasmus Villemoes
2016-02-16  8:21 ` [PATCH 0/3] drm: more pre-decrement fixes Christian König
2016-02-16 15:06   ` Alex Deucher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).