[PATCH] drm/amd/amdgpu: Fix flow control in uvd_v4_2_stop()

Christian König deathsimple at vodafone.de
Tue Feb 14 09:29:09 UTC 2017


Am 13.02.2017 um 20:13 schrieb Tom St Denis:
> Break out of outer loop properly.
>
> Signed-off-by: Tom St Denis <tom.stdenis at amd.com>
> Reported-by: Dan Carpenter <dan.carpenter at oracle.com>

Reviewed-by: Christian König <christian.koenig at amd.com>.

> ---
>   drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c | 9 ++++++---
>   1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c b/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c
> index 97af4827f652..b34cefc7ebd5 100644
> --- a/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c
> +++ b/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c
> @@ -401,7 +401,8 @@ static void uvd_v4_2_stop(struct amdgpu_device *adev)
>   				break;
>   			mdelay(1);
>   		}
> -		break;
> +		if (status & 2)
> +			break;
>   	}
>   
>   	for (i = 0; i < 10; ++i) {
> @@ -411,7 +412,8 @@ static void uvd_v4_2_stop(struct amdgpu_device *adev)
>   				break;
>   			mdelay(1);
>   		}
> -		break;
> +		if (status & 0xf)
> +			break;
>   	}
>   
>   	/* Stall UMC and register bus before resetting VCPU */
> @@ -424,7 +426,8 @@ static void uvd_v4_2_stop(struct amdgpu_device *adev)
>   				break;
>   			mdelay(1);
>   		}
> -		break;
> +		if (status & 0x240)
> +			break;
>   	}
>   
>   	WREG32_P(0x3D49, 0, ~(1 << 2));




More information about the amd-gfx mailing list