The error handling of sn65dsi83_reset_pipe() failure in
sn65dsi83_reset_work() has been a bit strange all the time, missing both
enable_irq() and drm_bridge_exit() in case of failure. But since
sn65dsi83_reset_pipe() have never been failing (always returning 0), it has
not caused any problems.
As we are going to change sn65dsi83_reset_pipe() to return error values in
case of failure, we need to fix this.
Fixes: ad5c6ecef27e ("drm: bridge: ti-sn65dsi83: Add error recovery mechanism")
Cc: [email protected]
Signed-off-by: Esben Haabendal <[email protected]>
---
drivers/gpu/drm/bridge/ti-sn65dsi83.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
index 42b451432bbb..0ccfff401b2a 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
@@ -417,10 +417,9 @@ static void sn65dsi83_reset_work(struct work_struct *ws)
/* Reset the pipe */
ret = sn65dsi83_reset_pipe(ctx);
- if (ret) {
+ if (ret)
dev_err(ctx->dev, "reset pipe failed %pe\n", ERR_PTR(ret));
- return;
- }
+
if (ctx->irq)
enable_irq(ctx->irq);
--
2.55.0