move release_mem_region above kfree(i2c) && below clk_put(i2c->clk) Signed-off-by: Libo Chen <libo.chen@xxxxxxxxxx> --- drivers/i2c/busses/i2c-pxa.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c index ea6d45d..3188cd0 100644 --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c @@ -1129,7 +1129,7 @@ static int i2c_pxa_probe(struct platform_device *dev) i2c->clk = clk_get(&dev->dev, NULL); if (IS_ERR(i2c->clk)) { ret = PTR_ERR(i2c->clk); - goto eclk; + goto emm; } i2c->reg_base = ioremap(res->start, resource_size(res)); @@ -1206,10 +1206,11 @@ ereqirq: iounmap(i2c->reg_base); eremap: clk_put(i2c->clk); +emm: + release_mem_region(res->start, resource_size(res)); eclk: kfree(i2c); emalloc: - release_mem_region(res->start, resource_size(res)); return ret; } -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html