Thread (15 messages) 15 messages, 3 authors, 2008-03-12

Re: [PATCH] libata: Register for dock events when the drive is inside a dock station

From: Holger Macht <hidden>
Date: 2008-02-28 18:31:42
Also in: lkml

On Thu 28. Feb - 16:58:17, Holger Macht wrote:
On Thu 28. Feb - 22:05:53, Tejun Heo wrote:
quoted
Holger Macht wrote:
quoted
On Thu 28. Feb - 18:35:06, Tejun Heo wrote:
quoted
Holger Macht wrote:
quoted
The hotplug handler is only called if the device is actually inside the
dock station. If it is not, nothing will happen. I hope that I got your
question right?
Yes, right.
quoted
However, if this would be helpful, it would be easy to add something like
a am_I_on_dock_station?(...) function to the dock driver.
Hmm.. as long as the event is only delivered when the device is actually
connected behind dock, I think it's okay.
The dock driver also export a is_dock_device(acpi_handle) function, which
could be used to make more fine-grained decisions, but it shouldn't be
needed here.
quoted
Does the attached patch fix the previous undock problem?  It now
explicitly tells libata EH to detach the notified devices on
EJECT_REQUEST and wait for EH to complete such that control is returned
to ACPI after all notified devices are actually detached.
No it does not. Apparently, it freezes faster (from 1 second down to
immediately). Before, it just froze when someone (in this case HAL) tried
to access the device. The "echo 1 > undock" call does not even return, so
it might have introduced another problem.
The code should be in generally right direction.  Can you be persuaded
into tracking down what's going on?
I had a quick glance with adding some printk's. Now I got a different
behaviour once. System did not freeze, but were certainly confused. The
last thing which got printed to messages was exactly before
spin_lock_irqsave(ap->lock, flags); at the beginning of ata_acpi_handle_hotplug(...)

The printk immediately after this call didn't come through anymore (with
being able to use the system for a short time afterwards).
Ok, it seems that there is something broken somewhere else in
2.6.25.rc3. Not sure at all if it's your patch freezing the machine. I'll
give 2.6.24.3 a try...

Regards,
	Holger
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help