drm/amd/display: Fix stream->link_enc unassigned during stream removal
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Tue, 25 Jan 2022 17:04:34 +0000 (12:04 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 5 Jul 2022 20:12:08 +0000 (16:12 -0400)
commit48e03843f99857a561f25fb8e583c9a7dee5b81f
tree28c3cea88f87fa19173f369c61766368a2ce7b0b
parent00fa7f031dd4b885175da390e24cb02f6a45977e
drm/amd/display: Fix stream->link_enc unassigned during stream removal

[Why]
Found when running igt@kms_atomic.

Userspace attempts to do a TEST_COMMIT when 0 streams which calls
dc_remove_stream_from_ctx. This in turn calls link_enc_unassign which
ends up modifying stream->link = NULL directly, causing the global
link_enc to be removed preventing further link activity and future link
validation from passing.

[How]
We take care of link_enc unassignment at the start of
link_enc_cfg_link_encs_assign so this call is no longer necessary.

Fixes global state from being modified while unlocked.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_resource.c