Message ID | 20240117103502.1.Ib726a0184913925efc7e99c4d4fc801982e1bc24@changeid (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/bridge: parade-ps8640: Make sure we drop the AUX mutex in the error case | expand |
On Wed, Jan 17, 2024 at 10:35 AM Douglas Anderson <dianders@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@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@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 >
Hi, On Wed, Jan 17, 2024 at 11:39 AM Hsin-Yi Wang <hsinyi@chromium.org> wrote: > > On Wed, Jan 17, 2024 at 10:35 AM Douglas Anderson <dianders@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@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@chromium.org> Thanks! I've pushed this to avoid the breakage. If any additional follow up comes up I'm happy to post additional patches. a20f1b02bafc drm/bridge: parade-ps8640: Make sure we drop the AUX mutex in the error case -Doug
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;
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@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. drivers/gpu/drm/bridge/parade-ps8640.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)