Skip to content

Commit

Permalink
powerpc/82xx: Use common error handling code in pq2ads_pci_init_irq()
Browse files Browse the repository at this point in the history
Adjust jump targets so that a bit of exception handling can be better
reused at the end of this function.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/1a4bafee-562f-5eb4-d2bd-34704f8c5ab3@web.de
  • Loading branch information
Markus Elfring authored and Michael Ellerman committed Jan 31, 2021
1 parent 60aece4 commit c0cff7a
Showing 1 changed file with 5 additions and 7 deletions.
12 changes: 5 additions & 7 deletions arch/powerpc/platforms/82xx/pq2ads-pci-pic.c
Original file line number Diff line number Diff line change
Expand Up @@ -129,13 +129,11 @@ int __init pq2ads_pci_init_irq(void)
irq = irq_of_parse_and_map(np, 0);
if (!irq) {
printk(KERN_ERR "No interrupt in pci pic node.\n");
of_node_put(np);
goto out;
goto out_put_node;
}

priv = kzalloc(sizeof(*priv), GFP_KERNEL);
if (!priv) {
of_node_put(np);
ret = -ENOMEM;
goto out_unmap_irq;
}
Expand All @@ -160,17 +158,17 @@ int __init pq2ads_pci_init_irq(void)
priv->host = host;
irq_set_handler_data(irq, priv);
irq_set_chained_handler(irq, pq2ads_pci_irq_demux);

of_node_put(np);
return 0;
ret = 0;
goto out_put_node;

out_unmap_regs:
iounmap(priv->regs);
out_free_kmalloc:
kfree(priv);
of_node_put(np);
out_unmap_irq:
irq_dispose_mapping(irq);
out_put_node:
of_node_put(np);
out:
return ret;
}

0 comments on commit c0cff7a

Please sign in to comment.