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

From: Toshi Kani
Date: Thu Mar 07 2013 - 17:41:34 EST


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