ACPI: EC: Check if boot_ec was really found in DSDT
Alexey Starikovskiy [Fri, 31 Aug 2007 05:05:26 +0000 (09:05 +0400)]
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 43749c8..3f7935a 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;
        }