From: Travis Spencer Subject: [KJ] [PATCH 2.6.12-rc4-kj] Reorganization of control flow to suppress warning When the macro `__ISAPNP__' isn't defined, the label `out_unregister_pci' is never used. This causes a warning from the compiler. To suppress it, this patch reorganizes the flow of control to use a single point of exit and removes the goto statements. Signed-off-by: Travis L. Spencer --- hisax_fcpcipnp.c | 18 ++++++++---------- 1 files changed, 8 insertions(+), 10 deletions(-) Index: quilt/drivers/isdn/hisax/hisax_fcpcipnp.c =================================================================== --- quilt.orig/drivers/isdn/hisax/hisax_fcpcipnp.c +++ quilt/drivers/isdn/hisax/hisax_fcpcipnp.c @@ -1001,18 +1001,16 @@ static int __init hisax_fcpcipnp_init(vo printk(KERN_INFO "hisax_fcpcipnp: Fritz!Card PCI/PCIv2/PnP ISDN driver v0.0.1\n"); retval = pci_register_driver(&fcpci_driver); - if (retval) - goto out; + if (! retval) + { #ifdef __ISAPNP__ - retval = pnp_register_driver(&fcpnp_driver); - if (retval < 0) - goto out_unregister_pci; + retval = pnp_register_driver(&fcpnp_driver); + if (retval < 0) + pci_unregister_driver(&fcpci_driver); + else #endif - return 0; - - out_unregister_pci: - pci_unregister_driver(&fcpci_driver); - out: + retval = 0; + } return retval; }