Skip to content

Commit

Permalink
axonram: Return directly after a failed kzalloc() in axon_ram_probe()
Browse files Browse the repository at this point in the history
* 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 <elfring@users.sourceforge.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
  • Loading branch information
Markus Elfring authored and Michael Ellerman committed Sep 1, 2017
1 parent a1bddf3 commit fdbb945
Showing 1 changed file with 17 additions and 22 deletions.
39 changes: 17 additions & 22 deletions arch/powerpc/sysdev/axonram.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,10 +192,8 @@ static int axon_ram_probe(struct platform_device *device)
device->dev.of_node);

bank = kzalloc(sizeof(*bank), GFP_KERNEL);
if (bank == NULL) {
rc = -ENOMEM;
goto failed;
}
if (!bank)
return -ENOMEM;

device->dev.platform_data = bank;

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

failed:
if (bank != NULL) {
if (bank->irq_id)
free_irq(bank->irq_id, device);
if (bank->disk != NULL) {
if (bank->disk->major > 0)
unregister_blkdev(bank->disk->major,
bank->disk->disk_name);
if (bank->disk->flags & GENHD_FL_UP)
del_gendisk(bank->disk);
put_disk(bank->disk);
}
kill_dax(bank->dax_dev);
put_dax(bank->dax_dev);
device->dev.platform_data = NULL;
if (bank->io_addr != 0)
iounmap((void __iomem *) bank->io_addr);
kfree(bank);
if (bank->irq_id)
free_irq(bank->irq_id, device);
if (bank->disk != NULL) {
if (bank->disk->major > 0)
unregister_blkdev(bank->disk->major,
bank->disk->disk_name);
if (bank->disk->flags & GENHD_FL_UP)
del_gendisk(bank->disk);
put_disk(bank->disk);
}

kill_dax(bank->dax_dev);
put_dax(bank->dax_dev);
device->dev.platform_data = NULL;
if (bank->io_addr != 0)
iounmap((void __iomem *) bank->io_addr);
kfree(bank);
return rc;
}

Expand Down

0 comments on commit fdbb945

Please sign in to comment.