Re: [PATCH] libata: Handle bay devices in dock stations

tom
2008-05-30T11:07:39Z

Quoting Holger Macht <hmacht@suse.de>:

> * Differentiate between bay devices in dock stations and others:
>
> - When an ACPI_NOTIFY_EJECT_REQUEST appears, just signal uevent to
> userspace (that is when the optional eject button on a bay device is
> pressed/pulled) giving the possibility to unmount file systems and to
> clean up. Also, only send uevent in case we get an EJECT_REQUEST
> without doing anything else. In other cases, you'll get an add/remove
> event because libata attaches/detaches the device.
>
> - In case of a dock event, which in turn signals an
> ACPI_NOTIFY_EJECT_REQUEST, immediately detach the device, because it
> may already have been gone
>
> * In case of an ACPI_NOTIFY_DEVICE/BUS_CHECK, evaluate _STA to check if
> the device has been plugged or unplugged. If plugged, hotplug it, if
> unplugged, just signal event to userspace
> (initial patch by Matthew Garrett <mjg59@srcf.ucam.org>)
>
> * Call ACPI _EJ0 for detached devices

Will this patch or the other bay/dock related patches you send in the
past days allow me to undock my laptop and still be able to
suspend/resume without locking the laptop up? And without having to
run any userspace scripts?

My dock is not a simple port replicator, it has an USB hub and an ATA
bay in it. My tests showed that I need to 'echo 1 >
/sys/.../scsi/.../eject' or something like that before I can take the
laptop out of the docking station. If I don't do that and try to
access the cdrom in the bay (or even rescaning the scsi bus) after I
have taken the laptop out of the dock it results in a hard lockup.
That in itself would not be a problem, because it's just a simple
command that I can do in an acpid script. But far worse is that even
if I do that, the computer locks up when I resume from suspend. I run
2.6.24.7 which locks up every time I resume. In recent versions from
git it has somehow improved, there are situations where it doesn't
lock up, but there are still a few left where it does (I don't
remember the exact actions/commands I have to take).

tom