Daniel,
Does this patch help you, or do we need to revert the whole thing?
Sorry for the trouble,
Alex.
Daniel Ritz wrote:
> tried that one on my old toshiba tecra 8000 laptop, almost killing it.
> the fan doesn't work any more...type 'make' and see the box dying.
> luckily my CPU doesn't commit suicide...bisected it to that one:
>
> cd8c93a4e04dce8f00d1ef3a476aac8bd65ae40b is first bad commit
> commit cd8c93a4e04dce8f00d1ef3a476aac8bd65ae40b
> Author: Alexey Starikovskiy <[email protected]>
> Date: Fri Aug 3 17:52:48 2007 -0400
>
> ACPI: EC: If ECDT is not found, look up EC in DSDT.
>
> Some ASUS laptops access EC space from device _INI methods, but do not
> provide ECDT for early EC setup. In order to make them function properly,
> there is a need to find EC is DSDT before any _INI is called.
>
> Similar functionality was turned on by acpi_fake_ecdt=1 command line
> before. Now it is on all the time.
>
> http://bugzilla.kernel.org/show_bug.cgi?id=8598
>
> Signed-off-by: Alexey Starikovskiy <[email protected]>
> Signed-off-by: Len Brown <[email protected]>
>
Drop early init of EC from DSDT patch
From: Alexey Starikovskiy <[email protected]>
---
drivers/acpi/ec.c | 21 +++++++--------------
1 files changed, 7 insertions(+), 14 deletions(-)
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 43749c8..e28f5b2 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -876,20 +876,13 @@ int __init acpi_ec_ecdt_probe(void)
*/
status = acpi_get_table(ACPI_SIG_ECDT, 1,
(struct acpi_table_header **)&ecdt_ptr);
- if (ACPI_SUCCESS(status)) {
- printk(KERN_INFO PREFIX "EC description table is found, configuring boot EC\n\n");
- boot_ec->command_addr = ecdt_ptr->control.address;
- boot_ec->data_addr = ecdt_ptr->data.address;
- boot_ec->gpe = ecdt_ptr->gpe;
- boot_ec->handle = ACPI_ROOT_OBJECT;
- } else {
- 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))
- goto error;
- }
-
+ if (ACPI_FAILURE(status))
+ goto error;
+ printk(KERN_INFO PREFIX "EC description table is found, configuring boot EC\n");
+ boot_ec->command_addr = ecdt_ptr->control.address;
+ boot_ec->data_addr = ecdt_ptr->data.address;
+ boot_ec->gpe = ecdt_ptr->gpe;
+ boot_ec->handle = ACPI_ROOT_OBJECT;
ret = ec_install_handlers(boot_ec);
if (!ret) {
first_ec = boot_ec;
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]