drm/etnaviv: Fix error path on failure to enable bus clk
[linux-2.6-microblaze.git] / drivers / gpu / drm / etnaviv / etnaviv_gpu.c
index a31eeff..c6dacfe 100644 (file)
@@ -1496,7 +1496,7 @@ static int etnaviv_gpu_clk_enable(struct etnaviv_gpu *gpu)
        if (gpu->clk_bus) {
                ret = clk_prepare_enable(gpu->clk_bus);
                if (ret)
-                       return ret;
+                       goto disable_clk_reg;
        }
 
        if (gpu->clk_core) {
@@ -1519,6 +1519,9 @@ disable_clk_core:
 disable_clk_bus:
        if (gpu->clk_bus)
                clk_disable_unprepare(gpu->clk_bus);
+disable_clk_reg:
+       if (gpu->clk_reg)
+               clk_disable_unprepare(gpu->clk_reg);
 
        return ret;
 }