Thanks! Reviewed-by: Lyude Paul <lyude@xxxxxxxxxx> 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@xxxxxxxxxx> > Cc: Harry Wentland <hwentlan@xxxxxxx> > Cc: Jani Nikula <jani.nikula@xxxxxxxxx> > Cc: Imre Deak <imre.deak@xxxxxxxxx> > Cc: Daniel Vetter <daniel@xxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Fixes: 37dfdc55ffeb ("drm/dp_mst: Cleanup drm_dp_send_link_address() > a bit") > Signed-off-by: Wayne Lin <Wayne.Lin@xxxxxxx> > --- > 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