summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2006-11-27 10:35:08 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2007-02-07 10:37:12 -0800
commitfbfb14455391b89edcf37327526988dea7849532 (patch)
tree3a55ca3576ffbccefaee67336c633d96b498745f /drivers
parentcb360bbf6352712310a7528137919c626a782744 (diff)
downloadlwn-fbfb14455391b89edcf37327526988dea7849532.tar.gz
lwn-fbfb14455391b89edcf37327526988dea7849532.zip
driver core fixes: device_register() retval check in platform.c
Check the return value of device_register() in platform_bus_init(). Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/base/platform.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index f9c903ba9fcd..30480f6f2af2 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -611,8 +611,15 @@ EXPORT_SYMBOL_GPL(platform_bus_type);
int __init platform_bus_init(void)
{
- device_register(&platform_bus);
- return bus_register(&platform_bus_type);
+ int error;
+
+ error = device_register(&platform_bus);
+ if (error)
+ return error;
+ error = bus_register(&platform_bus_type);
+ if (error)
+ device_unregister(&platform_bus);
+ return error;
}
#ifndef ARCH_HAS_DMA_GET_REQUIRED_MASK