Hi,
this is a revised patch set as a prep work for the future-planned PCI rescan support(*). The essential part is the patch to track in-flight tasks, and the rest are cleanups and fixes in the core code. With those changes, the driver can perform a sort of software suspend on the device without the hardware intervention, which is required during the PCI BAR movement, for example.
v1->v2: * Move / drop unnecessary snd_power_wait() calls * Rephrase changelogs and comments, reorder patches
Takashi
(*) https://lore.kernel.org/alsa-devel/e25017c6-e5e4-7a24-e793-14a2e70a434e@amd....
===
Takashi Iwai (6): ALSA: core: Use READ_ONCE() / WRITE_ONCE() for power state change ALSA: control: Track in-flight control read/write/tlv accesses ALSA: control: Drop superfluous snd_power_wait() calls ALSA: control: Minor optimization for SNDRV_CTL_IOCTL_POWER_STATE ALSA: Drop superfluous argument from snd_power_wait() ALSA: pcm: Block the release until the system resume finishes
include/sound/core.h | 50 ++++++++++++++++++++++++++++++++++--- sound/core/control.c | 38 +++++++++++++--------------- sound/core/control_compat.c | 14 +++-------- sound/core/init.c | 46 ++++++++++++++++++++++++++++------ sound/core/pcm_native.c | 6 ++++- sound/soc/soc-core.c | 2 +- sound/usb/usx2y/us122l.c | 2 +- 7 files changed, 113 insertions(+), 45 deletions(-)