Bug 15000

Summary: Thinkpad dock button no longer works
Product: ACPI Reporter: Paul Martin (pm)
Component: Config-HotplugAssignee: Shaohua (shaohua.li)
Severity: normal CC: acpi-bugzilla, chris.mason, lenb, rjw, rui.zhang, shaohua.li
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.33-rc3-00037-g67e85b0 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 14230    
Attachments: ACPI dump of Thinkpad T41
Chris Mason's patch

Description Paul Martin 2010-01-07 02:11:50 UTC
Last worked in: 2.6.32

Pressing the dock's "undock" button sends an event, but nothing in the kernel seems to act upon it.

If the button has been pressed, you can undock by:

echo 1 >/sys/devices/platform/dock.0/undock

The exact same event is generated when the undock procedure has completed. This suggests that setting up udev to send the echo is probably not a good idea.

Hardware: IBM Thinkpad T42, Dock II
Comment 1 Paul Martin 2010-01-07 02:16:20 UTC
The event is:

KERNEL[1262830399.911051] change   /devices/platform/dock.0 (platform)

This is the same event generated when the button is pressed, or when 1 is sent to /sys/devices/platform/dock.0/undock whether or not the laptop is docked. (This is why trapping it in udev would cause an infinite loop.)
Comment 2 Shaohua 2010-01-12 08:39:25 UTC
is the behavior changed in recent kernel?
I thought we can check the /sys/devices/platform/dock.0/docked file in udev script and does something according to if the dock is present.
Comment 3 Paul Martin 2010-01-12 22:49:46 UTC
The behaviour has changed. In 2.6.31, the kernel needs no assistance from udev.
Comment 4 Shaohua 2010-01-13 08:54:57 UTC
can you post the acpidump output? Let's check why there is extra event.
Comment 5 Zhang Rui 2010-01-21 08:07:31 UTC
ping Paul....
Comment 6 Rafael J. Wysocki 2010-01-26 12:19:52 UTC
The regression appears to be from 2.6.31.

Also, Paul, please respond or we'll have to close the bug due to the lack of reporter activity.
Comment 7 Paul Martin 2010-01-26 12:30:52 UTC
Created attachment 24719 [details]
ACPI dump of Thinkpad T41
Comment 8 Paul Martin 2010-01-26 12:33:15 UTC
Sorry for the delay. Please note that the laptop is a T41 not a T42. (Why I got it wrong when the model number is printed just under the LCD, I haven't a clue.)
Comment 9 Rafael J. Wysocki 2010-02-01 15:06:56 UTC
On Monday 01 February 2010, Paul Martin wrote:
> On Mon, Feb 01, 2010 at 01:43:18AM +0100, Rafael J. Wysocki wrote:
> > This message has been generated automatically as a part of a report
> > of regressions introduced between 2.6.31 and 2.6.32.
> > 
> > The following bug entry is on the current list of known regressions
> > introduced between 2.6.31 and 2.6.32.  Please verify if it still should
> > be listed and let me know (either way).
> > 
> > 
> > Bug-Entry   : http://bugzilla.kernel.org/show_bug.cgi?id=15000
> > Subject             : Thinkpad dock button no longer works
> > Submitter   : Paul Martin <pm@debian.org>
> > Date                : 2010-01-07 02:11 (25 days old)
> Yes, the bug still exists in 2.6.33-rc6.
Comment 10 Chris Mason 2010-02-01 16:34:38 UTC
This patch may be related, but wait until Len or someone who knows what ACPI stands for can verify it as correct.

Comment 11 Rafael J. Wysocki 2010-02-01 16:59:30 UTC
I'll have a look at that, but in the meantime: Paul, any chance to test if the Chris' patch above helps?
Comment 12 Paul Martin 2010-02-01 17:23:31 UTC
Created attachment 24852 [details]
Chris Mason's patch

I can confirm I've tested this patch, and it does fix this docking bug.
Comment 13 Rafael J. Wysocki 2010-02-01 21:39:52 UTC
Handled-By : Chris Mason <chris.mason@oracle.com>
Patch : http://patchwork.kernel.org/patch/76110/
Comment 14 Len Brown 2010-02-16 08:56:10 UTC
Alex Chiang's version of Chris' patch is in the acpi tree.
Comment 15 Len Brown 2010-02-16 08:57:22 UTC
Alex Chiang's version of Chris' patch is in the acpi tree.  http://patchwork.kernel.org/patch/76123/
Comment 16 Len Brown 2010-02-19 04:15:39 UTC
shipped in linux-2.6.33-rc8-git4

this was a 2.6.33-rc regression, and is thus not needed in 2.6.32.stable