If device_register() fails then call put_device().
See comment to device_register.

Signed-off-by: Vasiliy Kulikov <[email protected]>
---
 compile tested.

 drivers/staging/vme/vme.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/staging/vme/vme.c b/drivers/staging/vme/vme.c
index 093fbff..c08668d 100644
--- a/drivers/staging/vme/vme.c
+++ b/drivers/staging/vme/vme.c
@@ -1357,8 +1357,10 @@ int vme_register_bridge(struct vme_bridge *bridge)
                dev_set_name(dev, "vme-%x.%x", bridge->num, i + 1);
 
                retval = device_register(dev);
-               if (retval)
+               if (retval) {
+                       put_device(dev);
                        goto err_reg;
+               }
        }
 
        return retval;
-- 
1.7.0.4

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to