EISA: Call put_device() if device_register() fails
[linux-2.6-block.git] / drivers / eisa / eisa-bus.c
index 272a3ec3595703b6dbdaa440108eb569410cf65f..8842cde69177d76afc4681bb697b1d044026960c 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)