drm/panfrost: Fix missing clk_disable_unprepare() on error in panfrost_clk_init()
authorWei Yongjun <weiyongjun1@huawei.com>
Tue, 8 Jun 2021 14:38:56 +0000 (14:38 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Sep 2021 07:50:30 +0000 (09:50 +0200)
[ Upstream commit f42498705965bd4b026953c1892c686d8b1138e4 ]

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 <hulkci@huawei.com>
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210608143856.4154766-1-weiyongjun1@huawei.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/panfrost/panfrost_device.c

index bf7c34c..c256929 100644 (file)
@@ -60,7 +60,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) {