Messages in this thread | | | Date | Thu, 14 Feb 2008 13:42:24 +0100 | From | Holger Macht <> | Subject | Re: [PATCH] libata: Forcing PIO0 mode on reset must not freeze system |
| |
On Mon 11. Feb - 22:11:32, Tejun Heo wrote: > Holger Macht wrote: > >> It should be called via ata_acpi_{ap|dev}_notify() callbacks installed > >> via acpi_install_notify_handler(). Can you add dump_stack() in the > >> function and verify that it actually is being called? It could be that > >> the method is called too late or libata takes too long to actually > >> unplug the device. Hmmm... It seems what ata_acpi_handle_hotplug() does > >> isn't enough for undock. It probably should request detaching the > >> device instead of just notifying hotplug event. Anyways, please lemme > >> know whether and when the function is called. > > > > I already checked, it's never called AFAICS. And I couldn't find a place > > where it should be installed, otherwise, I would have sent a patch. The > > dock driver already calls the notify methods on devices in the dock > > station before doing the real undock. > > ata_acpi_associate() calls acpi_install_notify_handler() for each > device. Isn't that enough?
I don't think it is. When the device/bay is inside a dock station, we need to register for dock events, too. I've sent a patch in a different mail:
http://lkml.org/lkml/2008/2/14/123
Regards, Holger
| |