From: Travis Spencer <tspencer@cs.pdx.edu>
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 <tspencer@cs.pdx.edu>

---
 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;
 }
 
