Fix the missing clk_disable_unprepare() before return
from panfrost_clk_init() in the error handling case.

Fixes: b681af0bc1cc ("drm: panfrost: add optional bus_clock")
Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Wei Yongjun <[email protected]>
---
 drivers/gpu/drm/panfrost/panfrost_device.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/panfrost/panfrost_device.c 
b/drivers/gpu/drm/panfrost/panfrost_device.c
index 125ed973feaa..a2a09c51eed7 100644
--- a/drivers/gpu/drm/panfrost/panfrost_device.c
+++ b/drivers/gpu/drm/panfrost/panfrost_device.c
@@ -54,7 +54,8 @@ static int panfrost_clk_init(struct panfrost_device *pfdev)
        if (IS_ERR(pfdev->bus_clock)) {
                dev_err(pfdev->dev, "get bus_clock failed %ld\n",
                        PTR_ERR(pfdev->bus_clock));
-               return PTR_ERR(pfdev->bus_clock);
+               err = PTR_ERR(pfdev->bus_clock);
+               goto disable_clock;
        }
 
        if (pfdev->bus_clock) {

Reply via email to