Commit 5d48a1c2 authored by Bill Pemberton's avatar Bill Pemberton Committed by Greg Kroah-Hartman

Staging: hv: check return value of device_register()

Signed-off-by: default avatarBill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent c19fbca3
...@@ -192,7 +192,7 @@ int blkvsc_drv_init(PFN_DRIVERINITIALIZE pfn_drv_init) ...@@ -192,7 +192,7 @@ int blkvsc_drv_init(PFN_DRIVERINITIALIZE pfn_drv_init)
drv_ctx->shutdown = blkvsc_shutdown; drv_ctx->shutdown = blkvsc_shutdown;
/* The driver belongs to vmbus */ /* The driver belongs to vmbus */
vmbus_child_driver_register(drv_ctx); ret = vmbus_child_driver_register(drv_ctx);
DPRINT_EXIT(BLKVSC_DRV); DPRINT_EXIT(BLKVSC_DRV);
......
...@@ -82,8 +82,7 @@ static inline struct driver_context *driver_to_driver_context(struct device_driv ...@@ -82,8 +82,7 @@ static inline struct driver_context *driver_to_driver_context(struct device_driv
/* Vmbus interface */ /* Vmbus interface */
void int vmbus_child_driver_register(
vmbus_child_driver_register(
struct driver_context* driver_ctx struct driver_context* driver_ctx
); );
......
...@@ -114,7 +114,7 @@ int netvsc_drv_init(PFN_DRIVERINITIALIZE pfn_drv_init) ...@@ -114,7 +114,7 @@ int netvsc_drv_init(PFN_DRIVERINITIALIZE pfn_drv_init)
drv_ctx->remove = netvsc_remove; drv_ctx->remove = netvsc_remove;
/* The driver belongs to vmbus */ /* The driver belongs to vmbus */
vmbus_child_driver_register(drv_ctx); ret = vmbus_child_driver_register(drv_ctx);
DPRINT_EXIT(NETVSC_DRV); DPRINT_EXIT(NETVSC_DRV);
......
...@@ -162,7 +162,7 @@ int storvsc_drv_init(PFN_DRIVERINITIALIZE pfn_drv_init) ...@@ -162,7 +162,7 @@ int storvsc_drv_init(PFN_DRIVERINITIALIZE pfn_drv_init)
drv_ctx->remove = storvsc_remove; drv_ctx->remove = storvsc_remove;
/* The driver belongs to vmbus */ /* The driver belongs to vmbus */
vmbus_child_driver_register(drv_ctx); ret = vmbus_child_driver_register(drv_ctx);
DPRINT_EXIT(STORVSC_DRV); DPRINT_EXIT(STORVSC_DRV);
......
...@@ -435,7 +435,18 @@ int vmbus_bus_init(PFN_DRIVERINITIALIZE pfn_drv_init) ...@@ -435,7 +435,18 @@ int vmbus_bus_init(PFN_DRIVERINITIALIZE pfn_drv_init)
dev_ctx->device.release = vmbus_bus_release; dev_ctx->device.release = vmbus_bus_release;
/* Setup the bus as root device */ /* Setup the bus as root device */
device_register(&dev_ctx->device); ret = device_register(&dev_ctx->device);
if (ret)
{
DPRINT_ERR(VMBUS_DRV, "ERROR - Unable to register vmbus root device");
free_irq(vmbus_irq, NULL);
bus_unregister(&vmbus_drv_ctx->bus);
ret = -1;
goto cleanup;
}
vmbus_drv_obj->GetChannelOffers(); vmbus_drv_obj->GetChannelOffers();
...@@ -491,9 +502,10 @@ Name: vmbus_child_driver_register() ...@@ -491,9 +502,10 @@ Name: vmbus_child_driver_register()
Desc: Register a vmbus's child driver Desc: Register a vmbus's child driver
--*/ --*/
void vmbus_child_driver_register(struct driver_context* driver_ctx) int vmbus_child_driver_register(struct driver_context* driver_ctx)
{ {
VMBUS_DRIVER_OBJECT *vmbus_drv_obj=&g_vmbus_drv.drv_obj; VMBUS_DRIVER_OBJECT *vmbus_drv_obj=&g_vmbus_drv.drv_obj;
int ret;
DPRINT_ENTER(VMBUS_DRV); DPRINT_ENTER(VMBUS_DRV);
...@@ -502,11 +514,13 @@ void vmbus_child_driver_register(struct driver_context* driver_ctx) ...@@ -502,11 +514,13 @@ void vmbus_child_driver_register(struct driver_context* driver_ctx)
/* The child driver on this vmbus */ /* The child driver on this vmbus */
driver_ctx->driver.bus = &g_vmbus_drv.bus; driver_ctx->driver.bus = &g_vmbus_drv.bus;
driver_register(&driver_ctx->driver); ret = driver_register(&driver_ctx->driver);
vmbus_drv_obj->GetChannelOffers(); vmbus_drv_obj->GetChannelOffers();
DPRINT_EXIT(VMBUS_DRV); DPRINT_EXIT(VMBUS_DRV);
return ret;
} }
EXPORT_SYMBOL(vmbus_child_driver_register); EXPORT_SYMBOL(vmbus_child_driver_register);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment