Messages in this thread Patch in this message |  | | | From | "K. Y. Srinivasan" <> | | Subject | [PATCH 12/25] Staging: hv: Cleanup error handling in vmbus_child_device_register() | | Date | Tue, 26 Apr 2011 09:20:29 -0700 |
| |
Cleanup error handling in vmbus_child_device_register().
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: Hank Janssen <hjanssen@microsoft.com> --- drivers/staging/hv/vmbus_drv.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/drivers/staging/hv/vmbus_drv.c b/drivers/staging/hv/vmbus_drv.c index d597dd4..4d569ad 100644 --- a/drivers/staging/hv/vmbus_drv.c +++ b/drivers/staging/hv/vmbus_drv.c @@ -720,11 +720,16 @@ int vmbus_child_device_register(struct hv_device *child_device_obj) */ ret = device_register(&child_device_obj->device); + if (ret) + return ret; + /* vmbus_probe() error does not get propergate to device_register(). */ ret = child_device_obj->probe_error; - if (ret) + if (ret) { pr_err("Unable to register child device\n"); + device_unregister(&child_device_obj->device); + } else pr_info("child device %s registered\n", dev_name(&child_device_obj->device)); -- 1.7.4.1
|  |