]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/dp_mst: Fix all mstb marked as not probed after suspend/resume
authorWayne Lin <Wayne.Lin@amd.com>
Wed, 26 Jun 2024 08:48:23 +0000 (16:48 +0800)
committerLyude Paul <lyude@redhat.com>
Wed, 3 Jul 2024 13:55:27 +0000 (09:55 -0400)
[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@redhat.com>
Cc: Harry Wentland <hwentlan@amd.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: stable@vger.kernel.org
Fixes: 37dfdc55ffeb ("drm/dp_mst: Cleanup drm_dp_send_link_address() a bit")
Signed-off-by: Wayne Lin <Wayne.Lin@amd.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240626084825.878565-2-Wayne.Lin@amd.com
drivers/gpu/drm/display/drm_dp_mst_topology.c

index 7f8e1cfbe19d9f2065112e4fb9e74dce8a1ae74a..68831f4e502a28289dd5190fa1143cf3d68fe0a3 100644 (file)
@@ -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;