Subject : [2.6.30] Kernel bug with dock driver
Submitter : Joerg Platte <email@example.com>
Date : 2009-06-14 21:00
References : http://lkml.org/lkml/2009/6/14/216
Handled-By : Henrique de Moraes Holschuh <firstname.lastname@example.org>
This entry is being used for tracking a regression from 2.6.29. Please don't
close it until the problem is fixed in the mainline.
*** Bug 13642 has been marked as a duplicate of this bug. ***
Ok, I tracked it down.
Basically, thinkpad-acpi is screwing up the ACPI core, and causing the OOPs, and it has been doing things wrong since day one.
ibm-acpi (and later on, thinkpad-acpi) has never registered the bay and dock subdrivers as ACPI devices (because these devices are not matched by HID but rather by namespace node). And still, it wants to get ACPI events (notifications) and to issue ACPI userspace events (over procfs, and recently, netlink).
This used to work well, but it doesn't anymore. And it is an horrible hack anyway.
I am not going to fix it. Instead, I will simply remove the bay and dock subdrivers. Their usefulness has ended already, the generic bay and dock drivers, plus the libata ACPI eject support, can do a lot better.
I will submit a three-changed-lines patch to -stable and 2.6.31 that mark the thinkpad-acpi DOCK and BAY handling as BROKEN, and I will remove the dead code as soon as possible in a separate patch (2.6.32 at the worst, 2.6.31 if Len will take the patch).
I compiled 18.104.22.168 without thinkpad-acpi bay/dock support (which sould be equivalent to your patch) and got no bug message until now, even after lots of docking and undocking events. From my point of view this bug can be closed. Henrique, thank you for your work!
patch already available.
patches above applied to acpi tree
merged in mainline, commit 1f6fc2de9525e34ee93bd392fa046369a8cfbf1e and 550e7fd8afb7664ae7cedb398c407694e2bf7d3c.
Needs to go to -stable for 2.6.27 and later.