Staging: hv: vmbus: Cleanup error handling in vmbus_bus_init()
authorK. Y. Srinivasan <kys@microsoft.com>
Mon, 6 Jun 2011 22:50:08 +0000 (15:50 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 7 Jun 2011 20:46:05 +0000 (13:46 -0700)
Cleanup error handling in vmbus_bus_init().

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Abhishek Kane <v-abkane@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/hv/vmbus_drv.c

index a3c99f127482fbc25ead456311755111931ae9ba..be158be28ee3ee20bc1c97ae1cf50d263f6b5c46 100644 (file)
@@ -535,7 +535,7 @@ static int vmbus_bus_init(int irq)
        ret = hv_init();
        if (ret != 0) {
                pr_err("Unable to initialize the hypervisor - 0x%x\n", ret);
-               goto cleanup;
+               return ret;
        }
 
        /* Initialize the bus context */
@@ -544,10 +544,8 @@ static int vmbus_bus_init(int irq)
 
        /* Now, register the bus  with LDM */
        ret = bus_register(&hv_bus);
-       if (ret) {
-               ret = -1;
-               goto cleanup;
-       }
+       if (ret)
+               return ret;
 
        /* Get the interrupt resource */
        ret = request_irq(irq, vmbus_isr, IRQF_SAMPLE_RANDOM,
@@ -559,8 +557,7 @@ static int vmbus_bus_init(int irq)
 
                bus_unregister(&hv_bus);
 
-               ret = -1;
-               goto cleanup;
+               return ret;
        }
 
        vector = IRQ0_VECTOR + irq;
@@ -574,14 +571,13 @@ static int vmbus_bus_init(int irq)
        if (ret) {
                free_irq(irq, hv_acpi_dev);
                bus_unregister(&hv_bus);
-               goto cleanup;
+               return ret;
        }
 
 
        vmbus_request_offers();
 
-cleanup:
-       return ret;
+       return 0;
 }
 
 /**