drm/dp_mst: Fix return code on sideband message failure
Commit2f015ec6ea
("drm/dp_mst: Add sideband down request tracing + selftests") added some debug code for sideband message tracing. But it seems to have unintentionally changed the behavior on sideband message failure. It catches and returns failure only if DRM_UT_DP is enabled. Otherwise it ignores the error code and returns success. So on an MST unplug, the caller is unaware that the clear payload message failed and ends up waiting for 4 seconds for the response. Fixes the issue by returning the proper error code. Changes in V2: -- Revise commit text as review comment -- add Fixes text Changes in V3: -- remove "unlikely" optimization Fixes:2f015ec6ea
("drm/dp_mst: Add sideband down request tracing + selftests") Cc: <stable@vger.kernel.org> # v5.5+ Signed-off-by: Rajkumar Subbiah <rsubbia@codeaurora.org> Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Lyude Paul <lyude@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/1625585434-9562-1-git-send-email-khsieh@codeaurora.org
This commit is contained in:
Родитель
5e23c98178
Коммит
92bd92c44d
|
@ -2872,11 +2872,13 @@ static int process_single_tx_qlock(struct drm_dp_mst_topology_mgr *mgr,
|
|||
idx += tosend + 1;
|
||||
|
||||
ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx);
|
||||
if (unlikely(ret) && drm_debug_enabled(DRM_UT_DP)) {
|
||||
struct drm_printer p = drm_debug_printer(DBG_PREFIX);
|
||||
if (ret) {
|
||||
if (drm_debug_enabled(DRM_UT_DP)) {
|
||||
struct drm_printer p = drm_debug_printer(DBG_PREFIX);
|
||||
|
||||
drm_printf(&p, "sideband msg failed to send\n");
|
||||
drm_dp_mst_dump_sideband_msg_tx(&p, txmsg);
|
||||
drm_printf(&p, "sideband msg failed to send\n");
|
||||
drm_dp_mst_dump_sideband_msg_tx(&p, txmsg);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче