OSDN Git Service

drm/amd/display: Check return code for CRC drm_crtc_vblank_get
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Tue, 20 Aug 2019 16:58:37 +0000 (12:58 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 22 Aug 2019 03:18:11 +0000 (22:18 -0500)
commit7a235125959cffa28c20059ff1cb8725571fcf9f
tree7a7b9f5d7161e150a8e0f33ccbe7e62c923d5c31
parent6da6c2792808d767012389d6d83cf9d11a2c8256
drm/amd/display: Check return code for CRC drm_crtc_vblank_get

[Why]
The call to drm_crtc_vblank_get can fail if vblank is disabled and
we try to increment the reference.

Since drm_crtc_vblank_get internally drops the reference when it fails
it means the subsequent drm_crtc_vblank_put(...) when closing the file
drops a zero reference.

This was found via igt@kms_plane@pixel-format-pipe-A-planes.

[How]
Check the return code and return it on failure.

We wouldn't have been able to enable CRC reading anyway since vblank
wasn't enabled.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: David Francis <David.Francis@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c