aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorGravatar Wayne Lin <Wayne.Lin@amd.com> 2020-08-18 11:19:42 +0800
committerGravatar Alex Deucher <alexander.deucher@amd.com> 2020-08-26 15:45:51 -0400
commitef67d792a2fc578319399f605fbec2f99ecc06ea (patch)
tree8490fad1b186a4611338d2e202b78ecda3e5aa5e /drivers/gpu
parentdrm/amdgpu: Fix buffer overflow in INFO ioctl (diff)
downloadlinux-ef67d792a2fc578319399f605fbec2f99ecc06ea.tar.gz
linux-ef67d792a2fc578319399f605fbec2f99ecc06ea.tar.bz2
linux-ef67d792a2fc578319399f605fbec2f99ecc06ea.zip
drm/amd/display: Retry AUX write when fail occurs
[Why] In dm_dp_aux_transfer() now, we forget to handle AUX_WR fail cases. We suppose every write wil get done successfully and hence some AUX commands might not sent out indeed. [How] Check if AUX_WR success. If not, retry it. Signed-off-by: Wayne Lin <Wayne.Lin@amd.com> Reviewed-by: Hersen Wu <hersenxs.wu@amd.com> Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
index e85b58f0f416..336aaa09be46 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
@@ -67,7 +67,7 @@ static ssize_t dm_dp_aux_transfer(struct drm_dp_aux *aux,
result = dc_link_aux_transfer_raw(TO_DM_AUX(aux)->ddc_service, &payload,
&operation_result);
- if (payload.write)
+ if (payload.write && result >= 0)
result = msg->size;
if (result < 0)