Re: [PATCH] ALSA: ice1724: Fix blocking open for independent surround PCMs
From: Takashi Iwai
Date: Tue May 19 2026 - 01:38:35 EST
On Mon, 18 May 2026 16:32:05 +0200,
Cássio Gabriel wrote:
>
> The independent surround playback open path rejects a substream when the
> matching PDMA channel is reserved by the multi-channel PDMA0 stream. It
> currently returns -EBUSY for that case, although the driver has carried a
> FIXME noting that blocking mode is not handled properly.
>
> ALSA PCM open waits and retries only when the low-level open callback
> returns -EAGAIN. Returning -EBUSY therefore makes blocking opens fail
> immediately, the same as nonblocking opens.
>
> Return -EAGAIN for the temporary PDMA0 reservation conflict. The PCM core
> continues to report -EBUSY for O_NONBLOCK callers, while blocking callers
> sleep and retry.
>
> Also wake the independent surround PCM wait queue when hw_free releases a
> PDMA reservation. The reservation can be released by the pro PCM, while
> waiters are sleeping on the independent surround PCM, so waking the current
> substream PCM is not sufficient for this cross-PCM reservation.
>
> Signed-off-by: Cássio Gabriel <cassiogabrielcontato@xxxxxxxxx>
Applied to for-next branch now. Thanks.
Takashi