From: Sung-huai Wang <[email protected]>

[Why & How]

We have to check if stream is properly initialized before calling
find_matching_pll(), otherwise we might end up trying to deferecence a
NULL pointer.

Cc: [email protected] # 6.1+
Reviewed-by: Nicholas Kazlauskas <[email protected]>
Acked-by: Hamza Mahfooz <[email protected]>
Signed-off-by: Sung-huai Wang <[email protected]>
---
 .../gpu/drm/amd/display/dc/dce112/dce112_resource.c    | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c 
b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
index 808855886183..e115ff91aaaa 100644
--- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
@@ -974,10 +974,12 @@ enum dc_status resource_map_phy_clock_resources(
                || dc_is_virtual_signal(pipe_ctx->stream->signal))
                pipe_ctx->clock_source =
                                dc->res_pool->dp_clock_source;
-       else
-               pipe_ctx->clock_source = find_matching_pll(
-                       &context->res_ctx, dc->res_pool,
-                       stream);
+       else {
+               if (stream && stream->link && stream->link->link_enc)
+                       pipe_ctx->clock_source = find_matching_pll(
+                               &context->res_ctx, dc->res_pool,
+                               stream);
+       }
 
        if (pipe_ctx->clock_source == NULL)
                return DC_NO_CLOCK_SOURCE_RESOURCE;
-- 
2.40.1

Reply via email to