aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/zorro/zorro.c
diff options
context:
space:
mode:
authorVasiliy Kulikov <segooon@gmail.com>2010-09-19 08:55:21 -0400
committerGeert Uytterhoeven <geert@linux-m68k.org>2010-10-22 03:43:25 -0400
commit10b68799b32d60ff578742d0deebc98afff30dba (patch)
treeeff8e48c1e3738077fe47cb5e8ac7c34867c30d9 /drivers/zorro/zorro.c
parent0c37dd7c41b7391698bbe354b81fe9909c281984 (diff)
zorro: Fix device_register() error handling
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>
Diffstat (limited to 'drivers/zorro/zorro.c')
-rw-r--r--drivers/zorro/zorro.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/zorro/zorro.c b/drivers/zorro/zorro.c
index 6455f3a244c5..e0c2807b0970 100644
--- a/drivers/zorro/zorro.c
+++ b/drivers/zorro/zorro.c
@@ -142,6 +142,7 @@ static int __init amiga_zorro_probe(struct platform_device *pdev)
142 error = device_register(&bus->dev); 142 error = device_register(&bus->dev);
143 if (error) { 143 if (error) {
144 pr_err("Zorro: Error registering zorro_bus\n"); 144 pr_err("Zorro: Error registering zorro_bus\n");
145 put_device(&bus->dev);
145 kfree(bus); 146 kfree(bus);
146 return error; 147 return error;
147 } 148 }
@@ -175,6 +176,7 @@ static int __init amiga_zorro_probe(struct platform_device *pdev)
175 if (error) { 176 if (error) {
176 dev_err(&bus->dev, "Error registering device %s\n", 177 dev_err(&bus->dev, "Error registering device %s\n",
177 z->name); 178 z->name);
179 put_device(&z->dev);
178 continue; 180 continue;
179 } 181 }
180 error = zorro_create_sysfs_dev_files(z); 182 error = zorro_create_sysfs_dev_files(z);