Skip to contentSkip to conversation

Linux 2.6.23-rc4: BAD regression

PATCH In review Daniel Ritz 6 participants 16 messages Aug 28, 2007 – Aug 31, 2007 ACPI

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw

Len? Should we just revert it?

That commit has been very painful. First it lost all registration of the query methods, and now this.

Daniel - can we please have a before/after dmesg on your machine, preferably with ACPI debugging enabled? And for ACPI stuff, it usually does help to fill in a bugzilla entry, since the ACPI people actually do track things there...

Linus

Quoted 24 lines · Daniel Ritz

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

#2 lore raw
In reply to Daniel Ritz

Daniel,
Does this patch help you, or do we need to revert the whole thing?

Sorry for the trouble,
Alex.

Quoted 15 lines · Daniel Ritz

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.

Quoted 8 lines

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

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(-)
drivers/acpi/ec.c +7 -14
index 43749c8..e28f5b2 100644
@@ -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;
#3 lore raw
Quoted 3 lines · On Wednesday 29 August 2007 06:41:41 Alexey Starikovskiy wrote:

Daniel,
Does this patch help you, or do we need to revert the whole thing?

yes, this does the trick. the fan goes on again. thanks. if you still need additional debug output or if you want me to test a different patch just let me know.

rgds
-daniel

Quoted 26 lines

Sorry for the trouble,
Alex.

Quoted 23 lines · Daniel Ritz

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

#4 lore raw

If you could open a bugreport at bugzilla.kernel.org in ACPI category and attach
dmesg and acpidump output, that would help a lot. (I hope :( )

Thanks,
Alex.

Quoted 46 lines · Daniel Ritz
Quoted 4 lines · On Wednesday 29 August 2007 06:41:41 Alexey Starikovskiy wrote:

Daniel,
Does this patch help you, or do we need to revert the whole thing?

yes, this does the trick. the fan goes on again. thanks. if you still need additional debug output or if you want me to test a different patch just let me know.

rgds
-daniel

Quoted 28 lines

Sorry for the trouble,
Alex.

Quoted 24 lines · Daniel Ritz

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

#5 lore raw
Quoted 4 lines · On Wednesday 29 August 2007 21:45:01 Alexey Starikovskiy wrote:

If you could open a bugreport at bugzilla.kernel.org in ACPI category and attach
dmesg and acpidump output, that would help a lot. (I hope :( )

done. http://bugzilla.kernel.org/show_bug.cgi?id=8958

Quoted 52 lines

Thanks,
Alex.

Quoted 46 lines · Daniel Ritz
Quoted 4 lines · On Wednesday 29 August 2007 06:41:41 Alexey Starikovskiy wrote:

Daniel,
Does this patch help you, or do we need to revert the whole thing?

yes, this does the trick. the fan goes on again. thanks. if you still need additional debug output or if you want me to test a different patch just let me know.

rgds
-daniel

Quoted 28 lines

Sorry for the trouble,
Alex.

Quoted 24 lines · Daniel Ritz

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

#6 lore raw
In reply to Daniel Ritz

Il Wed, Aug 29, 2007 at 01:29:56AM +0200, Daniel Ritz ha scritto:

Quoted 5 lines

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

I've just bisected down to the same commit. In my case the fan is locked at maximum speed and the system is *extremly* slow (some kind of throttling?).

Alexey, I've seen the patch, I'll test it tomorrow and report back.

Luca

Signature · 2 lines
Tentare e` il primo passo verso il fallimento.
Homer J. Simpson
#7 lore raw
Quoted 5 lines · On Thursday 30 August 2007 01:21:50 Luca Tettamanti wrote:

Il Wed, Aug 29, 2007 at 01:29:56AM +0200, Daniel Ritz ha scritto:

Quoted 4 lines

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:

Quoted 8 lines
Quoted 1 line

cd8c93a4e04dce8f00d1ef3a476aac8bd65ae40b is first bad commit

I've just bisected down to the same commit. In my case the fan is locked at maximum speed and the system is *extremly* slow (some kind of throttling?).

Alexey, I've seen the patch, I'll test it tomorrow and report back.

i've just tested the minimal fix here:

	http://bugzilla.kernel.org/show_bug.cgi?id=8958#c7

works good so far. fan starts and system is responsive.

Quoted 1 line

Luca

rgds
-daniel

#9 lore raw
Quoted 9 lines · Linus Torvalds
Quoted 4 lines · Daniel Ritz

i've just tested the minimal fix here:

      http://bugzilla.kernel.org/show_bug.cgi?id=8958#c7

works good so far. fan starts and system is responsive.

Alexey, Len, can we get this fix integrated asap?

Tested here, works fine.

Luca

#10 lore raw

PATCH 1/1 ACPI: EC: Check if boot_ec was really found in DSDT

In reply to Linus Torvalds

From: Alexey Starikovskiy <[email protected]>

acpi_get_devices() returns success if it did not find any device. We have to check for this case.

---

 drivers/acpi/ec.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
drivers/acpi/ec.c +2 -1
index 43749c8..3f7935a 100644
@@ -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;
     }
 
#11 lore raw

Re: [PATCH] ACPI: EC: Check if boot_ec was really found in DSDT

Quoted 2 lines · Alexey Starikovskiy

This was totally whitespace-damaged. You have some broken email client that turns <tab>s into four spaces.

May I suggest rethinking the use of Thunderbird (aka "mangles things ridiculously")?

Anyway, I fixed it up and applied it.

Linus

#12 lore raw

Re: [PATCH] ACPI: EC: Check if boot_ec was really found in DSDT

Quoted 8 lines · Linus Torvalds
Quoted 2 lines · Alexey Starikovskiy

This was totally whitespace-damaged. You have some broken email client that turns <tab>s into four spaces.

Quoted 7 lines

May I suggest rethinking the use of Thunderbird (aka "mangles things ridiculously")?

Anyway, I fixed it up and applied it.

Linus

Thanks, what client do you use/recommend?

Alex.

#13 lore raw

Re: [PATCH] ACPI: EC: Check if boot_ec was really found in DSDT

Quoted 9 lines · On Fri, 31 Aug 2007 09:29:07 +0400 Alexey Starikovskiy <[email protected]>…
Quoted 8 lines · Linus Torvalds
Quoted 2 lines · Alexey Starikovskiy

This was totally whitespace-damaged. You have some broken email client that turns <tab>s into four spaces.

Quoted 9 lines
Quoted 7 lines

May I suggest rethinking the use of Thunderbird (aka "mangles things ridiculously")?

Anyway, I fixed it up and applied it.

Linus

Thanks, what client do you use/recommend?

I use sylpheed. thunderbird can be used, but one needs to follow the steps in http://mbligh.org/linuxdocs/Email/Clients/Thunderbird
to get it out of i-know-better mode.

#14 lore raw

Re: mail client to send patches

Quoted 15 lines · Andrew Morton
Quoted 13 lines · On Fri, 31 Aug 2007 09:29:07 +0400 Alexey Starikovskiy <[email protected]>…
Quoted 12 lines · Linus Torvalds
Quoted 2 lines · Alexey Starikovskiy

This was totally whitespace-damaged. You have some broken email client that turns <tab>s into four spaces.

May I suggest rethinking the use of Thunderbird (aka "mangles things ridiculously")?

Anyway, I fixed it up and applied it.

Quoted 8 lines
Quoted 4 lines
Quoted 2 lines

Linus

Thanks, what client do you use/recommend?

I use sylpheed. thunderbird can be used, but one needs to follow the steps in http://mbligh.org/linuxdocs/Email/Clients/Thunderbird
to get it out of i-know-better mode.

Thanks. I seem to have missed that Thunderbird has compose preference different for each mail account.

#15 lore raw

Re: [PATCH] ACPI: EC: Check if boot_ec was really found in DSDT

In reply to Andrew Morton
Quoted 3 lines · Andrew Morton

I use sylpheed. thunderbird can be used, but one needs to follow the steps in http://mbligh.org/linuxdocs/Email/Clients/Thunderbird
to get it out of i-know-better mode.

Can we get something like this into the kernel tree, please?

Documentation/email-clients.txt would go a long way towards making our collective lives more simple.

Jeff