Re: [PATCH] Fixups to ATA ACPI hotplug

From: Holger Macht
Date: Tue May 20 2008 - 04:47:16 EST


On Mon 19. May - 17:29:34, Matthew Garrett wrote:
> The libata-acpi.c code currently accepts hotplug messages from both the
> port and the device. This does not match the behaviour of the bay
> driver, and may result in confusion when two hotplug requests are
> received for the same device. This patch limits the hotplug notification
> to removable ACPI devices, which in turn allows it to use the _STA
> method to determine whether the device has been removed or inserted.
> On removal, devices are marked as detached. On insertion, a hotplug scan
> is started. This should avoid lockups caused by the ata layer attempting
> to scan devices which have been removed. The uevent sending is moved
> outside the spinlock in order to avoid a warning generated by it firing
> when interrupts are disabled.
>
> Signed-off-by: Matthew Garrett <mjg@xxxxxxxxxx>
>
> ---
>
> Holger, I'm pretty sure that this deals with the docking station removal
> case, but don't have the hardware to test. If EJECT_REQUEST is genuinely

I tried it, it doesn't.

Undock --> some userspace app accesses the device --> hard lockup

> the only notification we receive (ie, no BUS_CHECK or DEVICE_CHECK) then
> we'll need to add a separate callback for docking.

Yes, see my patch.

Regards,
Holger
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/