drm/exynos: g2d: fix missing unlock on error in g2d_runqueue_worker()
authorWei Yongjun <weiyongjun1@huawei.com>
Tue, 15 Jun 2021 17:21:53 +0000 (17:21 +0000)
committerInki Dae <inki.dae@samsung.com>
Sat, 21 Aug 2021 16:56:35 +0000 (01:56 +0900)
Add the missing unlock before return from function g2d_runqueue_worker()
in the error handling case.

Fixes: 445d3bed75de ("drm/exynos: use pm_runtime_resume_and_get()")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_g2d.c

index cab4d2c..0ed6655 100644 (file)
@@ -897,13 +897,14 @@ static void g2d_runqueue_worker(struct work_struct *work)
                        ret = pm_runtime_resume_and_get(g2d->dev);
                        if (ret < 0) {
                                dev_err(g2d->dev, "failed to enable G2D device.\n");
-                               return;
+                               goto out;
                        }
 
                        g2d_dma_start(g2d, g2d->runqueue_node);
                }
        }
 
+out:
        mutex_unlock(&g2d->runqueue_mutex);
 }