lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 338/849] drm/bridge: anx7625: Propagate errors from sp_tx_rst_aux()
    Date
    From: Robert Foss <robert.foss@linaro.org>

    [ Upstream commit 7f16d0f3b8e2d13f940e944cd17044ca8eeb8b32 ]

    The return value of sp_tx_rst_aux() is not propagated, which means
    both compiler warnings and potential errors not being handled.

    Fixes: 8bdfc5dae4e3 ("drm/bridge: anx7625: Add anx7625 MIPI DSI/DPI to DP")

    Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Robert Foss <robert.foss@linaro.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210818171318.1848272-1-robert.foss@linaro.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/bridge/analogix/anx7625.c | 12 ++++++++----
    1 file changed, 8 insertions(+), 4 deletions(-)

    diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
    index 7519b7a0f29dd..439c7bed33ff2 100644
    --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
    +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
    @@ -702,7 +702,7 @@ static int edid_read(struct anx7625_data *ctx,
    ret = sp_tx_aux_rd(ctx, 0xf1);

    if (ret) {
    - sp_tx_rst_aux(ctx);
    + ret = sp_tx_rst_aux(ctx);
    DRM_DEV_DEBUG_DRIVER(dev, "edid read fail, reset!\n");
    } else {
    ret = anx7625_reg_block_read(ctx, ctx->i2c.rx_p0_client,
    @@ -717,7 +717,7 @@ static int edid_read(struct anx7625_data *ctx,
    if (cnt > EDID_TRY_CNT)
    return -EIO;

    - return 0;
    + return ret;
    }

    static int segments_edid_read(struct anx7625_data *ctx,
    @@ -767,7 +767,7 @@ static int segments_edid_read(struct anx7625_data *ctx,
    if (cnt > EDID_TRY_CNT)
    return -EIO;

    - return 0;
    + return ret;
    }

    static int sp_tx_edid_read(struct anx7625_data *ctx,
    @@ -869,7 +869,11 @@ static int sp_tx_edid_read(struct anx7625_data *ctx,
    }

    /* Reset aux channel */
    - sp_tx_rst_aux(ctx);
    + ret = sp_tx_rst_aux(ctx);
    + if (ret < 0) {
    + DRM_DEV_ERROR(dev, "Failed to reset aux channel!\n");
    + return ret;
    + }

    return (blocks_num + 1);
    }
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-15 23:52    [W:2.296 / U:0.448 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site