Re: ACPI undocking on 3.8-rc5 no longer works with Lenovo T61

From: Toshi Kani
Date: Fri Mar 08 2013 - 09:15:39 EST


On Fri, 2013-03-08 at 11:06 +0100, Zdenek Kabelac wrote:
> Dne 7.3.2013 23:30, Toshi Kani napsal(a):
> > On Thu, 2013-03-07 at 22:48 +0100, Zdenek Kabelac wrote:
> >> Dne 29.1.2013 11:46, Zdenek Kabelac napsal(a):
> >>> Hi
> >>>
> >>> No exactly sure which patch did it - but when I'm now checking 3.8-rc5 kernel,
> >>> I cannot use anymore this 'undock' command:
> >>>
> >>> echo 1 >/sys/devices/platform/dock.0/undock
> >>>
> >>> which works ok with 3.7 kernel - to properly undock my T61 before suspend.
> >>>
> >>>
> >>> Dmesg shows this:
> >>>
> >>> [ 2657.087414] ACPI: \_SB_.PCI0.LPC_.EC__.BAT1: undocking
> >>> [ 2658.613494] ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
> >>> [ 2658.613508] ata4.00: ST_FIRST: !(DRQ|ERR|DF)
> >>> [ 2658.613522] sr 3:0:0:0: CDB:
> >>> [ 2658.613530] Get event status notification: 4a 01 00 00 10 00 00 00 08 00
> >>> [ 2658.613583] ata4.00: cmd a0/00:00:00:08:00/00:00:00:00:00/a0 tag 0 pio
> >>> 16392 in
> >>> res 00/00:00:00:00:00/00:00:00:00:00/00 Emask 0x2 (HSM violation)
> >>> [ 2658.613670] ata4: soft resetting link
> >>> [ 2658.766888] ata4.00: NODEV after polling detection
> >>> [ 2658.766900] ata4.00: revalidation failed (errno=-2)
> >>>
> >>>
> >>> Here is boot log attached, my HW is Lenovo T61, C2D
> >>>
> >>
> >>
> >> I've run 'bisect' and found out commit which has broken 'undock' support on
> >> my Lenovo:
> >>
> >> commit 8ab0ab2570cfc48303e545944f53690a6983a898
> >> Author: Toshi Kani <toshi.kani@xxxxxx>
> >> Date: Tue Oct 23 01:30:26 2012 +0200
> >>
> >> ACPI: dock: Remove redundant ACPI NS walk
> >>
> >> Combined two ACPI namespace walks, which look for dock stations
> >> and then bays separately, into a single walk.
> >>
> >> Signed-off-by: Toshi Kani <toshi.kani@xxxxxx>
> >> Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx>
> >> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> >>
> >>
> >> After doin plain revert of this commit undock 'support' is back -
> >> I've tested this with 3.9-rc1 (though on this kernel it seems wifi is
> >> again horribly broken for now)
> >>
> >> Any idea about proper fix here ?
> >
> > Sorry for the trouble. I suspect that your Lenovo has both doc station
> > and battery bay. Since the above patch combined HW scans for doc
> > station and battery bay into a single scan, it may have changed
> > instance# of the sysfs "dock.%d" files on your Lenovo. You can verify
> > the type by doing:
> >
> > cat /sys/devices/platform/dock*/type
> >
> > dock.0 on your Lenovo likely shows as "battery_bay", which I think you
> > cannot undock regardless of this patch. Can you try to undock the one
> > with "dock_station"?
>
>
> Thanks - you are correct here - and I've not had though about that
> before I've started bisect.
>
> So while before this patch dock.0 had type dock_station, it's now battery_bay
> and dock_station becomes dock.2 and I need to update my undocking script.

Great! Thanks for the verification!
-Toshi



--
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/