[PATCH] drm/bridge: parade-ps8640: Make sure we drop the AUX mutex in the error case

Hsin-Yi Wang hsinyi at chromium.org
Wed Jan 17 19:38:41 UTC 2024


On Wed, Jan 17, 2024 at 10:35 AM Douglas Anderson <dianders at chromium.org> wrote:
>
> After commit 26db46bc9c67 ("drm/bridge: parade-ps8640: Ensure bridge
> is suspended in .post_disable()"), if we hit the error case in
> ps8640_aux_transfer() then we return without dropping the mutex. Fix
> this oversight.
>
> Fixes: 26db46bc9c67 ("drm/bridge: parade-ps8640: Ensure bridge is suspended in .post_disable()")
> Signed-off-by: Douglas Anderson <dianders at chromium.org>
> ---
> Sorry for missing this in my review! :( Given that this is really
> simple and I'd rather the buggy commit not be there for long, if I can
> get a quick Reviewed-by tag on this patch I'll land it without the
> typical stewing period.
>

Reviewed-by: Hsin-Yi Wang <hsinyi at chromium.org>

>  drivers/gpu/drm/bridge/parade-ps8640.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
> index 166bfc725ef4..14d4dcf239da 100644
> --- a/drivers/gpu/drm/bridge/parade-ps8640.c
> +++ b/drivers/gpu/drm/bridge/parade-ps8640.c
> @@ -351,11 +351,13 @@ static ssize_t ps8640_aux_transfer(struct drm_dp_aux *aux,
>         ret = _ps8640_wait_hpd_asserted(ps_bridge, 200 * 1000);
>         if (ret) {
>                 pm_runtime_put_sync_suspend(dev);
> -               return ret;
> +               goto exit;
>         }
>         ret = ps8640_aux_transfer_msg(aux, msg);
>         pm_runtime_mark_last_busy(dev);
>         pm_runtime_put_autosuspend(dev);
> +
> +exit:
>         mutex_unlock(&ps_bridge->aux_lock);
>
>         return ret;
> --
> 2.43.0.381.gb435a96ce8-goog
>


More information about the dri-devel mailing list