Re: [PATCH] libata: Register for dock events when the drive is inside a dock station
From: Tejun Heo <hidden>
Date: 2008-02-28 13:06:19
Also in:
lkml
Holger Macht wrote:
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? Thanks. -- tejun