From: Imre Deak Date: Wed, 14 Dec 2022 18:42:57 +0000 (+0200) Subject: drm/display/dp_mst: Fix down message handling after a packet reception error X-Git-Tag: v6.6.7~1918^2~23^2~1106 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1241aedb6b5c7a5a8ad73e5eb3a41cfe18a3e00e;p=platform%2Fkernel%2Flinux-starfive.git drm/display/dp_mst: Fix down message handling after a packet reception error After an error during receiving a packet for a multi-packet DP MST sideband message, the state tracking which packets have been received already is not reset. This prevents the reception of subsequent down messages (due to the pending message not yet completed with an end-of-message-transfer packet). Fix the above by resetting the reception state after a packet error. Cc: Lyude Paul Cc: # v3.17+ Signed-off-by: Imre Deak Reviewed-by: Lyude Paul Link: https://patchwork.freedesktop.org/patch/msgid/20221214184258.2869417-2-imre.deak@intel.com --- diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c index 90819ff..0135051 100644 --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c @@ -3856,7 +3856,7 @@ static int drm_dp_mst_handle_down_rep(struct drm_dp_mst_topology_mgr *mgr) struct drm_dp_sideband_msg_rx *msg = &mgr->down_rep_recv; if (!drm_dp_get_one_sb_msg(mgr, false, &mstb)) - goto out; + goto out_clear_reply; /* Multi-packet message transmission, don't clear the reply */ if (!msg->have_eomt)