From: Markus Elfring <[email protected]> Date: Wed, 10 Jun 2026 19:50:08 +0200
Use an additional label so that a bit of exception handling can be better reused at the end of this function implementation. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <[email protected]> --- arch/powerpc/platforms/powermac/low_i2c.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/platforms/powermac/low_i2c.c b/arch/powerpc/platforms/powermac/low_i2c.c index da72a30ab865..8daf389d72e9 100644 --- a/arch/powerpc/platforms/powermac/low_i2c.c +++ b/arch/powerpc/platforms/powermac/low_i2c.c @@ -504,8 +504,7 @@ static struct pmac_i2c_host_kw *__init kw_i2c_host_init(struct device_node *np) if (addrp == NULL) { printk(KERN_ERR "low_i2c: Can't find address for %pOF\n", np); - kfree(host); - return NULL; + goto free_host; } mutex_init(&host->mutex); init_completion(&host->complete); @@ -540,8 +539,7 @@ static struct pmac_i2c_host_kw *__init kw_i2c_host_init(struct device_node *np) if (host->base == NULL) { printk(KERN_ERR "low_i2c: Can't map registers for %pOF\n", np); - kfree(host); - return NULL; + goto free_host; } /* Make sure IRQ is disabled */ @@ -559,6 +557,10 @@ static struct pmac_i2c_host_kw *__init kw_i2c_host_init(struct device_node *np) *addrp, host->irq, np); return host; + +free_host: + kfree(host); + return NULL; } -- 2.54.0
