diff options
author | Tom St Denis <tom.stdenis@amd.com> | 2017-02-13 22:11:40 +0300 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-02-16 19:43:44 +0300 |
commit | e89d5b5c202831648b853be20a5b9f8170d642d5 (patch) | |
tree | 91e66d6c5684e40f077f5b28b1ec3e9867eea150 /drivers/gpu/drm/amd | |
parent | fce293ca3d088b9a398c4fa3f7e9489283a70cf5 (diff) | |
download | linux-e89d5b5c202831648b853be20a5b9f8170d642d5.tar.xz |
drm/amd/amdgpu: Fix flow control in uvd_v4_2_stop()
Break out of outer loop properly.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c | 9 |
1 files 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)); |