summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
index f7638f84421b..424a7d4b8731 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -1096,8 +1096,12 @@ bool dc_commit_targets(
resource_validate_ctx_destruct(core_dc->current_context);
- dm_free(core_dc->current_context);
+ if (core_dc->temp_flip_context != core_dc->current_context) {
+ dm_free(core_dc->temp_flip_context);
+ core_dc->temp_flip_context = core_dc->current_context;
+ }
core_dc->current_context = context;
+ memset(core_dc->temp_flip_context, 0, sizeof(*core_dc->temp_flip_context));
return (result == DC_OK);