drm/amd/display: explicitly set is_dsc_supported to false before use
authorMario Limonciello <mario.limonciello@amd.com>
Wed, 5 Jan 2022 18:48:16 +0000 (12:48 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 20 Jan 2022 08:13:13 +0000 (09:13 +0100)
commit 63ad5371cd1e379519395c49a4b6a652c36c98e5 upstream.

When UBSAN is enabled a case is shown on unplugging the display that
this variable hasn't been initialized by `update_dsc_caps`, presumably
when the display was unplugged it wasn't copied from the DPCD.

Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1956497
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index fef13e93a99fd8bdc3802cfb82831fdb341eb3d8..2fbaf6f869bfb86e9e051c28353a2204f3ddb9c4 100644 (file)
@@ -5604,6 +5604,7 @@ static void update_dsc_caps(struct amdgpu_dm_connector *aconnector,
                                                        struct dsc_dec_dpcd_caps *dsc_caps)
 {
        stream->timing.flags.DSC = 0;
+       dsc_caps->is_dsc_supported = false;
 
        if (aconnector->dc_link && sink->sink_signal == SIGNAL_TYPE_DISPLAY_PORT) {
                dc_dsc_parse_dsc_dpcd(aconnector->dc_link->ctx->dc,