On 11/22/2022 5:47 AM, Nir Levy wrote: > The reference must be released when device_register(&child_device_obj->device) failed. > Fix this by adding 'put_device()' in the error handling path. > --- > drivers/hv/vmbus_drv.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c > index 8b2e413bf19c..e592c481f7ae 100644 > --- a/drivers/hv/vmbus_drv.c > +++ b/drivers/hv/vmbus_drv.c > @@ -2082,6 +2082,7 @@ int vmbus_device_register(struct hv_device *child_device_obj) > ret = device_register(&child_device_obj->device); > if (ret) { > pr_err("Unable to register child device\n"); > + put_device(&child_device_obj->device); I think this patch is not required, as device_add (device_register->device_add) will put_device for any failure within. Please do share the specific flow which you think might need this fix. Thanks. > return ret; > } > Regards, ~Praveen.