mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
drm/amd/display: Fix CRC open failure during active rendering
[Why] Opening the CRC data file during active rendering can fail with -EINVAL. The wait for commit->hw_done returns remaining jiffies on success, but the CRC path was treating that as an error. [How] Handle wait_for_completion_interruptible_timeout() correctly: positive return as success, 0 as timeout, and negative as error. Reviewed-by: Ray Wu <ray.wu@amd.com> Signed-off-by: Tom Chung <chiahsuan.chung@amd.com> Signed-off-by: James Lin <pinglei.lin@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
70840d7000
commit
5eb2fdafeb
|
|
@ -613,8 +613,13 @@ int amdgpu_dm_crtc_set_crc_source(struct drm_crtc *crtc, const char *src_name)
|
|||
*/
|
||||
ret = wait_for_completion_interruptible_timeout(
|
||||
&commit->hw_done, 10 * HZ);
|
||||
if (ret)
|
||||
if (ret < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (ret == 0) {
|
||||
ret = -ETIMEDOUT;
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
enable = amdgpu_dm_is_valid_crc_source(source);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user