diff options
author | Jude Shih <shenshih@amd.com> | 2021-09-29 11:13:56 +0800 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2021-10-06 15:53:01 -0400 |
commit | 9e3a50d23e31d9fad2fe47529b3668cc83323762 (patch) | |
tree | aba91092256a7b9b4214cf7f9aa9616793eb6a43 /drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | |
parent | f6e03f80eb1f4ef134845c69729a72e706184bc2 (diff) | |
download | lwn-9e3a50d23e31d9fad2fe47529b3668cc83323762.tar.gz lwn-9e3a50d23e31d9fad2fe47529b3668cc83323762.zip |
drm/amd/display: Fix USB4 Aux via DMUB terminate unexpectedly
[Why]
Condition variable sometimes terminated unexpectedly
[How]
Use wait_for_completion_timeout to avoid unexpected termination of CV
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Acked-by: Wayne Lin <Wayne.Lin@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Jude Shih <shenshih@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c')
-rw-r--r-- | drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 85a8148605d3..b567809ffcc4 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -11410,8 +11410,9 @@ int amdgpu_dm_process_dmub_aux_transfer_sync(bool is_cmd_aux, struct dc_context (uint32_t *)operation_result); } - ret = wait_for_completion_interruptible_timeout(&adev->dm.dmub_aux_transfer_done, 10*HZ); + ret = wait_for_completion_timeout(&adev->dm.dmub_aux_transfer_done, 10 * HZ); if (ret == 0) { + DRM_ERROR("wait_for_completion_timeout timeout!"); return amdgpu_dm_set_dmub_async_sync_status(is_cmd_aux, ctx, DMUB_ASYNC_TO_SYNC_ACCESS_TIMEOUT, (uint32_t *)operation_result); |