linux/sound/aoa/soundbus
Cássio Gabriel 5ed060d549 ALSA: aoa: i2sbus: clear stale prepared state
The i2sbus PCM code uses pi->active to constrain the sibling stream to
an already prepared duplex format and rate in i2sbus_pcm_open().

That state is set from i2sbus_pcm_prepare(), but the current code only
clears it on close. As a result, the sibling stream can inherit stale
constraints after the prepared state has been torn down.

Clear pi->active when hw_params() or hw_free() tears down the prepared
state, and set it again only after prepare succeeds.

Replace the stale FIXME in the duplex constraint comment with a description
of the current driver behavior: i2sbus still programs a single shared
transport configuration for both directions, so mixed formats are not
supported in duplex mode.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202604010125.AvkWBYKI-lkp@intel.com/
Fixes: f3d9478b2c ("[ALSA] snd-aoa: add snd-aoa")
Cc: stable@vger.kernel.org
Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
Link: https://patch.msgid.link/20260331-aoa-i2sbus-clear-stale-active-v2-1-3764ae2889a1@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2026-04-01 09:58:37 +02:00
..
i2sbus ALSA: aoa: i2sbus: clear stale prepared state 2026-04-01 09:58:37 +02:00
core.c ALSA: aoa: make soundbus_bus_type const 2024-02-15 13:48:03 +01:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile ALSA: aoa: Use *-y instead of *-objs in Makefile 2024-05-08 18:18:08 +02:00
soundbus.h ALSA: aoa: Replace asm/prom.h with explicit includes 2023-10-06 11:11:40 +02:00
sysfs.c ALSA: aoa: Replace sprintf() with sysfs_emit() 2022-08-02 16:03:42 +02:00