In integrator_ap_timer_init_of(), the return value of
clk_prepare_enable() should be checked before clk is used.

Signed-off-by: Xidong Wang <wangxidong...@163.com>
---
 drivers/clocksource/timer-integrator-ap.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/clocksource/timer-integrator-ap.c 
b/drivers/clocksource/timer-integrator-ap.c
index 19fb7de..72d5bdc 100644
--- a/drivers/clocksource/timer-integrator-ap.c
+++ b/drivers/clocksource/timer-integrator-ap.c
@@ -177,6 +177,7 @@ static int __init integrator_ap_timer_init_of(struct 
device_node *node)
 {
        const char *path;
        void __iomem *base;
+       int ret;
        int err;
        int irq;
        struct clk *clk;
@@ -192,7 +193,10 @@ static int __init integrator_ap_timer_init_of(struct 
device_node *node)
                pr_err("No clock for %pOFn\n", node);
                return PTR_ERR(clk);
        }
-       clk_prepare_enable(clk);
+       ret = clk_prepare_enable(clk);
+       if (ret) {
+               return ret;
+       }
        rate = clk_get_rate(clk);
        writel(0, base + TIMER_CTRL);
 
-- 
2.7.4

Reply via email to