Zhang Rui <rui.zhang@xxxxxxxxx> writes: > i8042 controller support device async actions. > > If boot option "dev_async_action" is added, > i8042 controller and its child devices can be > suspended/resumed/shutdown asynchronously. > >From a quick look at the i8042 driver it still seems to do a lot of slow actions without actually sleeping or worse holding locks. e.g. the delay loop in i8042_flush() Did you measure how long that one takes? Due to the locks even preempt kernels couldn't do something during that time. The spinlocks are probably needed when the code is executed during interrupts, but perhaps the suspend variant could use a different code path. Perhaps it only makes sense to do this when this code is converted to sleep during delays too? -Andi -- ak@xxxxxxxxxxxxxxx -- Speaking for myself only. -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html