Patch "drm/amd/display: Release MST resources on switch from MST to SST" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/amd/display: Release MST resources on switch from MST to SST

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-amd-display-release-mst-resources-on-switch-from.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit ab110d26a46a92871b47f1fc907d6dd7876d34ce
Author: Vladimir Stempen <vladimir.stempen@xxxxxxx>
Date:   Wed May 19 13:55:46 2021 -0400

    drm/amd/display: Release MST resources on switch from MST to SST
    
    [ Upstream commit 3f8518b60c10aa96f3efa38a967a0b4eb9211ac0 ]
    
    [why]
    When OS overrides training link training parameters
    for MST device to SST mode, MST resources are not
    released and leak of the resource may result crash and
    incorrect MST discovery during following hot plugs.
    
    [how]
    Retaining sink object to be reused by SST link and
    releasing MST  resources.
    
    Signed-off-by: Vladimir Stempen <vladimir.stempen@xxxxxxx>
    Reviewed-by: Wenjing Liu <Wenjing.Liu@xxxxxxx>
    Acked-by: Stylon Wang <stylon.wang@xxxxxxx>
    Tested-by: Daniel Wheeler <daniel.wheeler@xxxxxxx>
    Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
index c18f39271b03..4bc95e9075e9 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
@@ -1284,6 +1284,8 @@ static void set_dp_mst_mode(struct dc_link *link, bool mst_enable)
 		link->type = dc_connection_single;
 		link->local_sink = link->remote_sinks[0];
 		link->local_sink->sink_signal = SIGNAL_TYPE_DISPLAY_PORT;
+		dc_sink_retain(link->local_sink);
+		dm_helpers_dp_mst_stop_top_mgr(link->ctx, link);
 	} else if (mst_enable == true &&
 			link->type == dc_connection_single &&
 			link->remote_sinks[0] != NULL) {



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux