|
@@ -55,7 +55,7 @@ static int nmk_rng_probe(struct amba_device *dev, const struct amba_id *id)
|
|
|
|
|
|
ret = amba_request_regions(dev, dev->dev.init_name);
|
|
ret = amba_request_regions(dev, dev->dev.init_name);
|
|
if (ret)
|
|
if (ret)
|
|
- return ret;
|
|
|
|
|
|
+ goto out_clk;
|
|
ret = -ENOMEM;
|
|
ret = -ENOMEM;
|
|
base = ioremap(dev->res.start, resource_size(&dev->res));
|
|
base = ioremap(dev->res.start, resource_size(&dev->res));
|
|
if (!base)
|
|
if (!base)
|
|
@@ -70,6 +70,7 @@ out_unmap:
|
|
iounmap(base);
|
|
iounmap(base);
|
|
out_release:
|
|
out_release:
|
|
amba_release_regions(dev);
|
|
amba_release_regions(dev);
|
|
|
|
+out_clk:
|
|
clk_disable(rng_clk);
|
|
clk_disable(rng_clk);
|
|
clk_put(rng_clk);
|
|
clk_put(rng_clk);
|
|
return ret;
|
|
return ret;
|