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 <elfring@users.sourceforge.net> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
a1bddf3991
commit
fdbb9457b4
|
@ -192,10 +192,8 @@ static int axon_ram_probe(struct platform_device *device)
|
||||||
device->dev.of_node);
|
device->dev.of_node);
|
||||||
|
|
||||||
bank = kzalloc(sizeof(*bank), GFP_KERNEL);
|
bank = kzalloc(sizeof(*bank), GFP_KERNEL);
|
||||||
if (bank == NULL) {
|
if (!bank)
|
||||||
rc = -ENOMEM;
|
return -ENOMEM;
|
||||||
goto failed;
|
|
||||||
}
|
|
||||||
|
|
||||||
device->dev.platform_data = bank;
|
device->dev.platform_data = bank;
|
||||||
|
|
||||||
|
@ -291,25 +289,22 @@ static int axon_ram_probe(struct platform_device *device)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
failed:
|
failed:
|
||||||
if (bank != NULL) {
|
if (bank->irq_id)
|
||||||
if (bank->irq_id)
|
free_irq(bank->irq_id, device);
|
||||||
free_irq(bank->irq_id, device);
|
if (bank->disk != NULL) {
|
||||||
if (bank->disk != NULL) {
|
if (bank->disk->major > 0)
|
||||||
if (bank->disk->major > 0)
|
unregister_blkdev(bank->disk->major,
|
||||||
unregister_blkdev(bank->disk->major,
|
bank->disk->disk_name);
|
||||||
bank->disk->disk_name);
|
if (bank->disk->flags & GENHD_FL_UP)
|
||||||
if (bank->disk->flags & GENHD_FL_UP)
|
del_gendisk(bank->disk);
|
||||||
del_gendisk(bank->disk);
|
put_disk(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);
|
|
||||||
}
|
}
|
||||||
|
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;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue