RE: [PATCH 2/2] drm/display/dp_mst: Fix drm_dp_mst_add_affected_dsc_crtcs() return code

From: Lin, Wayne
Date: Wed Nov 09 2022 - 04:51:18 EST


[AMD Official Use Only - General]

Hi Lyude,

It LGTM. Feel free to add
Reviewed-by: Wayne Lin <Wayne.Lin@xxxxxxx>

> -----Original Message-----
> From: Lyude Paul <lyude@xxxxxxxxxx>
> Sent: Saturday, November 5, 2022 7:59 AM
> To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx
> Cc: stable@xxxxxxxxxxxxxxx; David Airlie <airlied@xxxxxxxxx>; Daniel Vetter
> <daniel@xxxxxxxx>; Jani Nikula <jani.nikula@xxxxxxxxx>; Thomas
> Zimmermann <tzimmermann@xxxxxxx>; Lin, Wayne
> <Wayne.Lin@xxxxxxx>; Imre Deak <imre.deak@xxxxxxxxx>; Mikita Lipski
> <mikita.lipski@xxxxxxx>; Deucher, Alexander
> <Alexander.Deucher@xxxxxxx>; open list:DRM DRIVERS <dri-
> devel@xxxxxxxxxxxxxxxxxxxxx>; open list <linux-kernel@xxxxxxxxxxxxxxx>
> Subject: [PATCH 2/2] drm/display/dp_mst: Fix
> drm_dp_mst_add_affected_dsc_crtcs() return code
>
> Looks like that we're accidentally dropping a pretty important return code
> here. For some reason, we just return -EINVAL if we fail to get the MST
> topology state. This is wrong: error codes are important and should never be
> squashed without being handled, which here seems to have the potential to
> cause a deadlock.
>
> Signed-off-by: Lyude Paul <lyude@xxxxxxxxxx>
> Fixes: 8ec046716ca8 ("drm/dp_mst: Add helper to trigger modeset on
> affected DSC MST CRTCs")
> Cc: <stable@xxxxxxxxxxxxxxx> # v5.6+
> ---
> drivers/gpu/drm/display/drm_dp_mst_topology.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c
> b/drivers/gpu/drm/display/drm_dp_mst_topology.c
> index ecd22c038c8c0..51a46689cda70 100644
> --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
> +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
> @@ -5186,7 +5186,7 @@ int drm_dp_mst_add_affected_dsc_crtcs(struct
> drm_atomic_state *state, struct drm
> mst_state = drm_atomic_get_mst_topology_state(state, mgr);
>
> if (IS_ERR(mst_state))
> - return -EINVAL;
> + return PTR_ERR(mst_state);
>
> list_for_each_entry(pos, &mst_state->payloads, next) {
>
> --
> 2.37.3