drm/mediatek: dp: Fix mtk_dp_aux_transfer return value
authorWojciech Macek <wmacek@chromium.org>
Wed, 17 Apr 2024 10:38:19 +0000 (10:38 +0000)
committerChun-Kuang Hu <chunkuang.hu@kernel.org>
Mon, 22 Apr 2024 13:29:07 +0000 (13:29 +0000)
In case there is no DP device attached to the port the
transfer function should return IO error, similar to what
other drivers do.
In case EAGAIN is returned then any read from /dev/drm_dp_aux
device ends up in an infinite loop as the upper layers
constantly repeats the transfer request.

Fixes: f70ac097a2cf ("drm/mediatek: Add MT8195 Embedded DisplayPort driver")
Signed-off-by: Wojciech Macek <wmacek@chromium.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: CK Hu <ck.hu@mediatek.com>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20240417103819.990512-1-wmacek@chromium.org/
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
drivers/gpu/drm/mediatek/mtk_dp.c

index 0ba72102636aa8c66288fa919d7d3a1144fdb898..536366956447ab297b5e5005dae781ef600014b2 100644 (file)
@@ -2104,7 +2104,7 @@ static ssize_t mtk_dp_aux_transfer(struct drm_dp_aux *mtk_aux,
 
        if (mtk_dp->bridge.type != DRM_MODE_CONNECTOR_eDP &&
            !mtk_dp->train_info.cable_plugged_in) {
-               ret = -EAGAIN;
+               ret = -EIO;
                goto err;
        }