ACPI: EC: Check if boot_ec was really found in DSDT
authorAlexey Starikovskiy <astarikovskiy@suse.de>
Fri, 31 Aug 2007 05:05:26 +0000 (09:05 +0400)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 31 Aug 2007 05:20:13 +0000 (22:20 -0700)
acpi_get_devices() returns success if it did not find any device.
We have to check for this case.

Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Tested-by: Daniel Ritz <daniel.ritz-ml@swissonline.ch>
Tested-by: Luca <kronos.it@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/acpi/ec.c

index 43749c86861f46cd0322e4e4682db0aed84b8d61..3f7935ab0cf53c0d6ca21b89096ba3c727e0e7b6 100644 (file)
@@ -886,7 +886,8 @@ int __init acpi_ec_ecdt_probe(void)
                printk(KERN_DEBUG PREFIX "Look up EC in DSDT\n");
                status = acpi_get_devices(ec_device_ids[0].id, ec_parse_device,
                                                boot_ec, NULL);
-               if (ACPI_FAILURE(status))
+               /* Check that acpi_get_devices actually find something */
+               if (ACPI_FAILURE(status) || !boot_ec->handle)
                        goto error;
        }