Re: Linux 2.6.23-rc4: BAD regression

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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]
  Powered by Linux