Re: [PATCH] libata: Forcing PIO0 mode on reset must not freeze system

Holger Macht
2008-02-14T12:41:44Z

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