[PATCH 1/3] drm/dp_mst: Fix all mstb marked as not probed after suspend/resume

Lyude Paul lyude at redhat.com
Wed Jun 26 16:22:58 UTC 2024


Thanks!

Reviewed-by: Lyude Paul <lyude at redhat.com>

On Wed, 2024-06-26 at 16:48 +0800, Wayne Lin wrote:
> [Why]
> After supend/resume, with topology unchanged, observe that
> link_address_sent of all mstb are marked as false even the topology
> probing
> is done without any error.
> 
> It is caused by wrongly also include "ret == 0" case as a probing
> failure
> case.
> 
> [How]
> Remove inappropriate checking conditions.
> 
> Cc: Lyude Paul <lyude at redhat.com>
> Cc: Harry Wentland <hwentlan at amd.com>
> Cc: Jani Nikula <jani.nikula at intel.com>
> Cc: Imre Deak <imre.deak at intel.com>
> Cc: Daniel Vetter <daniel at ffwll.ch>
> Cc: stable at vger.kernel.org
> Fixes: 37dfdc55ffeb ("drm/dp_mst: Cleanup drm_dp_send_link_address()
> a bit")
> Signed-off-by: Wayne Lin <Wayne.Lin at amd.com>
> ---
>  drivers/gpu/drm/display/drm_dp_mst_topology.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c
> b/drivers/gpu/drm/display/drm_dp_mst_topology.c
> index 7f8e1cfbe19d..68831f4e502a 100644
> --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
> +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
> @@ -2929,7 +2929,7 @@ static int drm_dp_send_link_address(struct
> drm_dp_mst_topology_mgr *mgr,
>  
>  	/* FIXME: Actually do some real error handling here */
>  	ret = drm_dp_mst_wait_tx_reply(mstb, txmsg);
> -	if (ret <= 0) {
> +	if (ret < 0) {
>  		drm_err(mgr->dev, "Sending link address failed with
> %d\n", ret);
>  		goto out;
>  	}
> @@ -2981,7 +2981,7 @@ static int drm_dp_send_link_address(struct
> drm_dp_mst_topology_mgr *mgr,
>  	mutex_unlock(&mgr->lock);
>  
>  out:
> -	if (ret <= 0)
> +	if (ret < 0)
>  		mstb->link_address_sent = false;
>  	kfree(txmsg);
>  	return ret < 0 ? ret : changed;

-- 
Cheers,
 Lyude Paul (she/her)
 Software Engineer at Red Hat



More information about the amd-gfx mailing list