Hi,
this is a 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.
Takashi
(*) https://lore.kernel.org/alsa-devel/e25017c6-e5e4-7a24-e793-14a2e70a434e@amd....
===
Takashi Iwai (7): ALSA: core: Use READ_ONCE() / WRITE_ONCE() for power state change ALSA: control: Add power state check commonly for ioctl handlers ALSA: control: Drop superfluous snd_power_wait() calls ALSA: control: Minor optimization for SNDRV_CTL_IOCTL_POWER_STATE ALSA: control: Track in-flight control read/write/tlv accesses ALSA: pcm: Block the release until the system resume finishes ALSA: Drop superfluous argument from snd_power_wait()
include/sound/core.h | 39 +++++++++++++++++++++--- sound/core/control.c | 41 +++++++++++++------------- sound/core/control_compat.c | 17 +++++------ sound/core/init.c | 59 ++++++++++++++++++++++++++++++++----- sound/core/pcm_native.c | 6 +++- sound/soc/soc-core.c | 2 +- sound/usb/usx2y/us122l.c | 2 +- 7 files changed, 121 insertions(+), 45 deletions(-)