From: Krunoslav Kovac <krunoslav.ko...@amd.com>

[Wjy&How] Some stress test is causing unexpected memory allocation
failure. This prevents null dereference but there will likely be problems
later, hard to gracefully handle memalloc fail for critical objects.

Signed-off-by: Krunoslav Kovac <krunoslav.ko...@amd.com>
Reviewed-by: Anthony Koo <anthony....@amd.com>
Acked-by: Leo Li <sunpeng...@amd.com>
Acked-by: Reza Amini <reza.am...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc_surface.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c 
b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c
index c60c9b4..ee6bd50 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c
@@ -40,11 +40,14 @@ static void construct(struct dc_context *ctx, struct 
dc_plane_state *plane_state
        plane_state->ctx = ctx;
 
        plane_state->gamma_correction = dc_create_gamma();
-       plane_state->gamma_correction->is_identity = true;
+       if (plane_state->gamma_correction != NULL)
+               plane_state->gamma_correction->is_identity = true;
 
        plane_state->in_transfer_func = dc_create_transfer_func();
-       plane_state->in_transfer_func->type = TF_TYPE_BYPASS;
-       plane_state->in_transfer_func->ctx = ctx;
+       if (plane_state->in_transfer_func != NULL) {
+               plane_state->in_transfer_func->type = TF_TYPE_BYPASS;
+               plane_state->in_transfer_func->ctx = ctx;
+       }
 }
 
 static void destruct(struct dc_plane_state *plane_state)
-- 
2.7.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to