EISA: Call put_device() if device_register() fails
authorLevente Kurusa <levex@linux.com>
Fri, 13 Dec 2013 18:39:54 +0000 (19:39 +0100)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 13 Dec 2013 19:00:42 +0000 (12:00 -0700)
We need to give up the last reference to edev->dev, so we need to call
put_device().

Signed-off-by: Levente Kurusa <levex@linux.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/eisa/eisa-bus.c

index 272a3ec..8842cde 100644 (file)
@@ -232,8 +232,10 @@ static int __init eisa_init_device(struct eisa_root_device *root,
 static int __init eisa_register_device(struct eisa_device *edev)
 {
        int rc = device_register(&edev->dev);
-       if (rc)
+       if (rc) {
+               put_device(&edev->dev);
                return rc;
+       }
 
        rc = device_create_file(&edev->dev, &dev_attr_signature);
        if (rc)