diff options
author | Randy Dunlap <rdunlap@xenotime.net> | 2006-07-12 10:08:00 +0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2006-07-12 20:51:18 +0400 |
commit | 9b6d97b64eff08b368375efcf9c1d01eba582ea2 (patch) | |
tree | 5fbb5ee62e4e28d9c7d6cd80aa8b6b0bcd071b91 /drivers/acpi | |
parent | d568df84f987a9321c1f5826a6c8678ef2bb2b70 (diff) | |
download | linux-9b6d97b64eff08b368375efcf9c1d01eba582ea2.tar.xz |
ACPI: scan: handle kset/kobject errors
Check and handle kset_register() and kobject_register() init errors.
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/scan.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index 5fcb50c7b778..698a1540e303 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -4,6 +4,7 @@ #include <linux/module.h> #include <linux/init.h> +#include <linux/kernel.h> #include <linux/acpi.h> #include <acpi/acpi_drivers.h> @@ -113,6 +114,8 @@ static struct kset acpi_namespace_kset = { static void acpi_device_register(struct acpi_device *device, struct acpi_device *parent) { + int err; + /* * Linkage * ------- @@ -138,7 +141,10 @@ static void acpi_device_register(struct acpi_device *device, device->kobj.parent = &parent->kobj; device->kobj.ktype = &ktype_acpi_ns; device->kobj.kset = &acpi_namespace_kset; - kobject_register(&device->kobj); + err = kobject_register(&device->kobj); + if (err < 0) + printk(KERN_WARNING "%s: kobject_register error: %d\n", + __FUNCTION__, err); create_sysfs_device_files(device); } @@ -1450,7 +1456,9 @@ static int __init acpi_scan_init(void) if (acpi_disabled) return 0; - kset_register(&acpi_namespace_kset); + result = kset_register(&acpi_namespace_kset); + if (result < 0) + printk(KERN_ERR PREFIX "kset_register error: %d\n", result); result = bus_register(&acpi_bus_type); if (result) { |