Hi,

On Tue, Sep 29, 2026 at 6:31 PM Hsieh Hung-En <[email protected]> wrote:
>
> If rb070d30_panel_disable() returns an error, drm_panel_disable() skips
> clearing panel->enabled. unprepare() still powers the panel off, but the
> next drm_panel_enable() sees the panel as already enabled and does
> nothing, so the panel stays dark.
>
> Always return 0 from disable(). A failed ENTER_SLEEP_MODE is still logged
> by mipi_dsi_dcs_enter_sleep_mode_multi().
>
> Suggested-by: Douglas Anderson <[email protected]>
> Signed-off-by: Hsieh Hung-En <[email protected]>
> ---
>
> Notes:
>     This applies on top of:
>     https://lore.kernel.org/all/[email protected]/
>
>     As suggested by Doug in:
>     
> https://lore.kernel.org/all/CAD=FV=UU+NS0T-Ga8i12QKTNCYOu8kar_6=NsH0=4fvufyk...@mail.gmail.com/
>
>     Compile-tested on arm64 with W=1; not tested on hardware.
>
>  drivers/gpu/drm/panel/panel-ronbo-rb070d30.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c 
> b/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c
> index ebe6352db..2d54182fe 100644
> --- a/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c
> +++ b/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c
> @@ -87,7 +87,7 @@ static int rb070d30_panel_disable(struct drm_panel *panel)
>         struct mipi_dsi_multi_context dsi_ctx = { .dsi = ctx->dsi };
>
>         mipi_dsi_dcs_enter_sleep_mode_multi(&dsi_ctx);
> -       return dsi_ctx.accum_err;
> +       return 0;
>  }

It's probably worth adding a comment explaining why we are purposely
ignoring the error value. Something about
mipi_dsi_dcs_enter_sleep_mode_multi() already having logged the error
and how a failure here shouldn't really block us continuing on to
unprepare to power the panel off.

-Doug

Reply via email to