--- Comment #15 from Takashi Iwai email@example.com --- Now I'm back from vacation.
My patched kernel mentioned in comment 11 is really a hack, just dropping napi_disable() / napi_enable() calls at runtime and system suspends temporarily. The fact that this patch worked implies that the usages of napi_disable() calls there are doubtful and very likely buggy. But fixing this properly needs more deep consideration.
That said, there are multiple bugs here: - The recursive runtime PM handling that causes a deadlock; this one is addressed by the patch in comment 8 - The napi_disable() / napi_enable() calls at the runtime / system resume callbacks that again causes the deadlock