diff options
author | Vasiliy Kulikov <segooon@gmail.com> | 2010-09-19 08:55:21 -0400 |
---|---|---|
committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2010-10-22 03:43:25 -0400 |
commit | 10b68799b32d60ff578742d0deebc98afff30dba (patch) | |
tree | eff8e48c1e3738077fe47cb5e8ac7c34867c30d9 /drivers/zorro/zorro.c | |
parent | 0c37dd7c41b7391698bbe354b81fe9909c281984 (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.c | 2 |
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); |