drm/amd/display: add NULL pointer check
authorCharlene Liu <Charlene.Liu@amd.com>
Tue, 31 Jan 2023 17:51:40 +0000 (12:51 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 14 Feb 2023 21:03:56 +0000 (16:03 -0500)
[Why]
In virtual link use case, link->ddc could be NULL.

[How]
Add null pointer check to avoid undefined behavior.

Reviewed-by: Martin Leung <Martin.Leung@amd.com>
Reviewed-by: Hansen Dsouza <hansen.dsouza@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: Charlene Liu <Charlene.Liu@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/dcn10/dcn10_hw_sequencer.c

index acc7e40..a1a29c5 100644 (file)
@@ -3223,12 +3223,16 @@ static void dcn10_config_stereo_parameters(
                        timing_3d_format == TIMING_3D_FORMAT_INBAND_FA ||
                        timing_3d_format == TIMING_3D_FORMAT_DP_HDMI_INBAND_FA ||
                        timing_3d_format == TIMING_3D_FORMAT_SIDEBAND_FA) {
-                       enum display_dongle_type dongle = \
-                                       stream->link->ddc->dongle_type;
-                       if (dongle == DISPLAY_DONGLE_DP_VGA_CONVERTER ||
-                               dongle == DISPLAY_DONGLE_DP_DVI_CONVERTER ||
-                               dongle == DISPLAY_DONGLE_DP_HDMI_CONVERTER)
-                               flags->DISABLE_STEREO_DP_SYNC = 1;
+
+                       if (stream->link && stream->link->ddc) {
+                               enum display_dongle_type dongle = \
+                                               stream->link->ddc->dongle_type;
+
+                               if (dongle == DISPLAY_DONGLE_DP_VGA_CONVERTER ||
+                                       dongle == DISPLAY_DONGLE_DP_DVI_CONVERTER ||
+                                       dongle == DISPLAY_DONGLE_DP_HDMI_CONVERTER)
+                                       flags->DISABLE_STEREO_DP_SYNC = 1;
+                       }
                }
                flags->RIGHT_EYE_POLARITY =\
                                stream->timing.flags.RIGHT_EYE_3D_POLARITY;