zorro: Fix device_register() error handling
authorVasiliy Kulikov <segooon@gmail.com>
Sun, 19 Sep 2010 12:55:21 +0000 (16:55 +0400)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Fri, 22 Oct 2010 07:43:25 +0000 (09:43 +0200)
If device_register() fails then call put_device().
See comment to device_register.

Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
drivers/zorro/zorro.c

index 6455f3a..e0c2807 100644 (file)
@@ -142,6 +142,7 @@ static int __init amiga_zorro_probe(struct platform_device *pdev)
        error = device_register(&bus->dev);
        if (error) {
                pr_err("Zorro: Error registering zorro_bus\n");
+               put_device(&bus->dev);
                kfree(bus);
                return error;
        }
@@ -175,6 +176,7 @@ static int __init amiga_zorro_probe(struct platform_device *pdev)
                if (error) {
                        dev_err(&bus->dev, "Error registering device %s\n",
                                z->name);
+                       put_device(&z->dev);
                        continue;
                }
                error = zorro_create_sysfs_dev_files(z);