Sony Vaio VGN-SZ340 ACPI Problem (Linux)

So, the first patch that the guys from intel gave me to solve the problem with ACPI that didnt recognize both cores is below this text. This isnt a “perfect” patch as it does not solve a problem with cpu frequency scaling for cpu1. But it works great =)

Thanks for intel’s guys!
http://bugzilla.kernel.org/show_bug.cgi?id=7465


drivers/acpi/tables.c | 16 ++++++++++——
1 files changed, 10 insertions(+), 6 deletions(-)

Index: linux-2.6.18.1/drivers/acpi/tables.c
===================================================================
— linux-2.6.18.1.orig/drivers/acpi/tables.c 2006-10-14 11:34:03.000000000 +0800
+++ linux-2.6.18.1/drivers/acpi/tables.c 2006-12-02 01:01:00.000000000 +0800
@@ -316,7 +316,7 @@ acpi_table_parse_madt_family(enum acpi_t
unsigned int count = 0;
unsigned long madt_end;
unsigned int i;

+ unsigned int count = 0;
if (!handler)
return -EINVAL;

@@ -325,6 +325,12 @@ acpi_table_parse_madt_family(enum acpi_t
for (i = 0; i < sdt_count; i++) { if (sdt_entry[i].id != id) continue; + count ++; + if(count == 1) { + printk("\nFind the first MADT, don't parse it"); + continue; + } + printk("\nLet's parse the %d MADT.", count); madt = (void *) __acpi_map_table(sdt_entry[i].pa, sdt_entry[i].size); if (!madt) { @@ -388,12 +394,10 @@ int __init acpi_table_parse(enum acpi_ta if (sdt_entry[i].id != id) continue; count++; - if (count == 1) - handler(sdt_entry[i].pa, sdt_entry[i].size); - - else + handler(sdt_entry[i].pa, sdt_entry[i].size); + if(count > 1)
printk(KERN_WARNING PREFIX
– “%d duplicate %s table ignored.\n”, count,
+ “%d duplicate %s table, former tables are ignored.\n”, count,
acpi_table_signatures[id]);
}

Leave a Reply

Your email address will not be published. Required fields are marked *