@@ -1104,18 +1104,18 @@ static int i2c_pxa_probe(struct platform_device *dev)
if (ret > 0)
ret = i2c_pxa_probe_pdata(dev, i2c, &i2c_type);
if (ret < 0)
- goto eclk;
+ goto edt;
res = platform_get_resource(dev, IORESOURCE_MEM, 0);
irq = platform_get_irq(dev, 0);
if (res == NULL || irq < 0) {
ret = -ENODEV;
- goto eclk;
+ goto eirq;
}
if (!request_mem_region(res->start, resource_size(res), res->name)) {
ret = -ENOMEM;
- goto eclk;
+ goto emem;
}
i2c->adap.owner = THIS_MODULE;
@@ -1207,9 +1207,12 @@ ereqirq:
eremap:
clk_put(i2c->clk);
eclk:
- kfree(i2c);
-emalloc:
release_mem_region(res->start, resource_size(res));
+emem:
+eirq:
+edt:
+ kfree(i2c);
+emalloc:
return ret;
}
When kzalloc fail, there is no reason to release_mem_region fix confuse tag, add new tag: emem, eirq, edt and make it cleanly Signed-off-by: Libo Chen <libo.chen@huawei.com> --- drivers/i2c/busses/i2c-pxa.c | 13 ++++++++----- 1 files changed, 8 insertions(+), 5 deletions(-)