Re: [2.6.33-rc2] ACPI problems on HP nc6400 notebook

From: Sedat Dilek
Date: Fri Dec 25 2009 - 07:33:05 EST


While dell-wmi and hp-wmi is concerned I only applied this patch (see
file attachment):

0001-Revert-wmi-Free-the-allocated-acpi-objects-through-w.patch

This fixes ACPI/WMI problems onmy HP nc6400 notebook.

----- Please REVERT the following commit in 2.6.33-rc2 -----

commit 3e9b988e4edf065d39c1343937f717319b1c1065
Refs: v2.6.33-rc1-10-g3e9b988
Author: Anisse Astier <anisse@xxxxxxxxx>
AuthorDate: Fri Dec 4 10:10:09 2009 +0100
Commit: Len Brown <len.brown@xxxxxxxxx>
CommitDate: Thu Dec 24 00:42:00 2009 -0500

wmi: Free the allocated acpi objects through wmi_get_event_data

These function allocate an acpi object by calling wmi_get_event_data, which
then calls acpi_evaluate_object, and it is not freed afterwards.

And kernel doc is fixed for parameters of wmi_get_event_data.

Signed-off-by: Anisse Astier <anisse@xxxxxxxxx>
Acked-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
Acked-by: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
[...]

- Sedat -

On Fri, Dec 25, 2009 at 12:15 PM, Sedat Dilek
<sedat.dilek@xxxxxxxxxxxxxx> wrote:
> [CCed linux-acpi ML, maciej.rutecki@xxxxxxxxx and landgraf@xxxxx]
> (see [2] and [3])
>
> GOTCHA!
>
> I reverted patches introduced in:
>
> commit 2969cd482ebe9c5b82d55917b0cd41175eff042a:
> "Merge branch 'misc-2.6.33' into release"
>
> ...and now I could boot into 2.6.33-rc2.
>
> Here the revert-acpi-patches:
>
> $ ls debian/patches/revert-acpi-patches/
> 0001-Revert-hp-wmi-Fix-two-memleaks.patch
> 0002-Revert-acer-wmi-msi-wmi-Remove-needless-DMI-MODULE_A.patch
> 0003-Revert-dell-wmi-do-not-keep-driver-loaded-on-unsuppo.patch
> 0004-Revert-wmi-Free-the-allocated-acpi-objects-through-w.patch
> 0005-Revert-drivers-platform-x86-acerhdf.c-check-BIOS-inf.patch
> 0006-Revert-acerhdf-add-new-BIOS-versions.patch
> 0007-Revert-acerhdf-limit-modalias-matching-to-supported.patch
> 0008-Revert-toshiba_acpi-convert-to-seq_file.patch
> 0009-Revert-asus_acpi-convert-to-seq_file.patch
> 0010-Revert-ACPI-do-not-select-ACPI_DOCK-from-ATA_ACPI.patch
> 0011-Revert-MAINTAINERS-add-maintainer-for-msi-wmi-driver.patch
> 0012-Revert-fujitu-laptop-fix-tests-of-acpi_evaluate_inte.patch
> 0013-Revert-arch-x86-kernel-cpu-cpufreq-acpi-cpufreq.c-av.patch
>
> In [1] you can find revert-acpi-patchset, dmesg & lspci outputs of my
> new kernel.
>
> Marciej and Werner can you please verify or dig deeper by partially
> excluding the single reverts?
> Thank you.
>
> Kind Regards,
> - Sedat -
>
> [1] http://files.iniza.org/linux-kernel/BUG_2.6.33-rc2/
> [2] http://marc.info/?l=linux-kernel&m=126171951030608&w=2
> [3] http://marc.info/?l=linux-kernel&m=126173586309724&w=2
>
> On Fri, Dec 25, 2009 at 9:48 AM, Sedat Dilek <sedat.dilek@xxxxxxxxxxxxxx> wrote:
>> Hi,
>>
>> as I suspected it is an ACPI issue while I tried to boot with "acpi=off".
>>
>> I have taken new screenshots and added dmesg (acpi=off) and all
>> messages in /var/log/* [1].
>>
>> It is possible to load acpi kernel-module afterwards?
>> Or it is not possible whenn loading with acpi=off?
>>
>> @Len Brown:
>> There are two photos showing thermal problems.
>> Notebook did shut down in the night.
>> But this was before 2.6.33-rc2.
>>
>> I will not try a bisect (visting currently my brother and working with
>> touchpad really sucks), but I will revert the wmi-related (wmi/hp-wmi)
>> commits.
>> There seems problems with wmi on other systems w/ 2.6.33-rc2 [2].
>>
>> Kind Regards,
>> - Sedat -
>>
>> [1] http://files.iniza.org/linux-kernel/BUG_2.6.33-rc2/
>> [2] http://marc.info/?l=linux-kernel&m=126171951030608&w=2
>>
>> On Fri, Dec 25, 2009 at 2:22 AM, Justin P. Mattock
>> <justinmattock@xxxxxxxxx> wrote:
>>> On 12/24/09 17:11, Sedat Dilek wrote:
>>>>
>>>> Hi,
>>>>
>>>> I build linux-2.6.33-rc2 on a Debian/sid 32-bit host.
>>>> Unfortunately, this kernel falls in an unusable state (sort of loop)
>>>> and does not a normal startup.
>>>>
>>>> With this setting (see below), I hoped to catch the early
>>>> boot-messages (but, no success):
>>>>
>>>> # cat /etc/default/bootlogd
>>>> # Run bootlogd at startup ?
>>>> BOOTLOGD_ENABLE=Yes
>>>>
>>>> Finally, I could take a picture [1].
>>>> It seems to be that latest ACPI patches are breaking my system
>>>> (speculating).
>>>>
>>>> Q: How can I log such early boot (error) messages to give a detailled log?
>>>>
>>>> Hope this helps fixing the problem.
>>>>
>>>> Kind Regards,
>>>> - Sedat -
>>>>
>>>>
>>>> [1] http://files.iniza.org/linux-kernel/DSCN2134.JPG
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>>> More majordomo info at Âhttp://vger.kernel.org/majordomo-info.html
>>>> Please read the FAQ at Âhttp://www.tux.org/lkml/
>>>>
>>>
>>> you can try(if you have the port)
>>> ohci1394_dma=early or the usb
>>> early logging located in kernel hacking.
>>>
>>> but if this thing is hitting way early it
>>> might be a bit more tricky.
>>>
>>> if you can try Âa bisect from the bad
>>> kernel to the good.
>>>
>>> Justin P. Mattock
>>>
>>
>
From f2366a0b009de3fc7be9967e9e65a12b666b05c1 Mon Sep 17 00:00:00 2001
From: Sedat Dilek <sedat.dilek@xxxxxxxxx>
Date: Fri, 25 Dec 2009 09:54:31 +0100
Subject: [PATCH] Revert "wmi: Free the allocated acpi objects through wmi_get_event_data"

This reverts commit 3e9b988e4edf065d39c1343937f717319b1c1065.
---
drivers/platform/x86/dell-wmi.c | 1 -
drivers/platform/x86/hp-wmi.c | 2 --
drivers/platform/x86/wmi.c | 4 ++--
3 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c
index 6561dfc..67f3fe7 100644
--- a/drivers/platform/x86/dell-wmi.c
+++ b/drivers/platform/x86/dell-wmi.c
@@ -238,7 +238,6 @@ static void dell_wmi_notify(u32 value, void *context)
input_sync(dell_wmi_input_dev);
}
}
- kfree(obj);
}


diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c
index db10c5d..63c3e65 100644
--- a/drivers/platform/x86/hp-wmi.c
+++ b/drivers/platform/x86/hp-wmi.c
@@ -381,8 +381,6 @@ static void hp_wmi_notify(u32 value, void *context)
} else
printk(KERN_INFO "HP WMI: Unknown key pressed - %x\n",
eventcode);
-
- kfree(obj);
}

static int __init hp_wmi_input_setup(void)
diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c
index 9f93d6c..e425a86 100644
--- a/drivers/platform/x86/wmi.c
+++ b/drivers/platform/x86/wmi.c
@@ -540,8 +540,8 @@ EXPORT_SYMBOL_GPL(wmi_remove_notify_handler);
/**
* wmi_get_event_data - Get WMI data associated with an event
*
- * @event: Event to find
- * @out: Buffer to hold event data. out->pointer should be freed with kfree()
+ * @event - Event to find
+ * &out - Buffer to hold event data
*
* Returns extra data associated with an event in WMI.
*/
--
1.6.5.7