Commit 9e3a50d2 authored by Jude Shih's avatar Jude Shih Committed by Alex Deucher
Browse files

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: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Acked-by: default avatarWayne Lin <Wayne.Lin@amd.com>
Acked-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarJude Shih <shenshih@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent f6e03f80
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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);