Skip to content

Commit fdbb945

Browse files
elfringmpe
authored andcommitted
axonram: Return directly after a failed kzalloc() in axon_ram_probe()
* Return directly after a call of the function "kzalloc" failed at the beginning. * Delete a repeated check for the local variable "bank" which became unnecessary with this refactoring. Signed-off-by: Markus Elfring <[email protected]> Signed-off-by: Michael Ellerman <[email protected]>
1 parent a1bddf3 commit fdbb945

File tree

1 file changed

+17
-22
lines changed

1 file changed

+17
-22
lines changed

arch/powerpc/sysdev/axonram.c

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -192,10 +192,8 @@ static int axon_ram_probe(struct platform_device *device)
192192
device->dev.of_node);
193193

194194
bank = kzalloc(sizeof(*bank), GFP_KERNEL);
195-
if (bank == NULL) {
196-
rc = -ENOMEM;
197-
goto failed;
198-
}
195+
if (!bank)
196+
return -ENOMEM;
199197

200198
device->dev.platform_data = bank;
201199

@@ -291,25 +289,22 @@ static int axon_ram_probe(struct platform_device *device)
291289
return 0;
292290

293291
failed:
294-
if (bank != NULL) {
295-
if (bank->irq_id)
296-
free_irq(bank->irq_id, device);
297-
if (bank->disk != NULL) {
298-
if (bank->disk->major > 0)
299-
unregister_blkdev(bank->disk->major,
300-
bank->disk->disk_name);
301-
if (bank->disk->flags & GENHD_FL_UP)
302-
del_gendisk(bank->disk);
303-
put_disk(bank->disk);
304-
}
305-
kill_dax(bank->dax_dev);
306-
put_dax(bank->dax_dev);
307-
device->dev.platform_data = NULL;
308-
if (bank->io_addr != 0)
309-
iounmap((void __iomem *) bank->io_addr);
310-
kfree(bank);
292+
if (bank->irq_id)
293+
free_irq(bank->irq_id, device);
294+
if (bank->disk != NULL) {
295+
if (bank->disk->major > 0)
296+
unregister_blkdev(bank->disk->major,
297+
bank->disk->disk_name);
298+
if (bank->disk->flags & GENHD_FL_UP)
299+
del_gendisk(bank->disk);
300+
put_disk(bank->disk);
311301
}
312-
302+
kill_dax(bank->dax_dev);
303+
put_dax(bank->dax_dev);
304+
device->dev.platform_data = NULL;
305+
if (bank->io_addr != 0)
306+
iounmap((void __iomem *) bank->io_addr);
307+
kfree(bank);
313308
return rc;
314309
}
315310

0 commit comments

Comments
 (0)