Re: [PATCH] ALSA: lx6464es: fix period byte count for 16-bit streams

Takashi Iwai <[email protected]>
Newsgroups org.kernel.vger.linux-sound,org.kernel.vger.linux-kernel,org.kernel.vger.stable
Message-ID <[email protected]>
On Thu, 23 Jul 2026 10:57:10 +0200,
raoxu wrote:
> 
> From: Xu Rao <[email protected]>
> 
> The lx6464es driver advertises both 16-bit and packed 24-bit PCM formats,
> but lx_trigger_start() and lx_interrupt_request_new_buffer() calculate the
> DMA period size as runtime->period_size * runtime->channels * 3.  That is
> only correct for the packed 24-bit formats.
> 
> For 16-bit streams the driver submits buffers that are 50% larger than the
> actual ALSA period and advances the DMA address by the same wrong amount.
> For example, with 2 channels, 256 frames and 4 periods, the third buffer
> already extends beyond the ALSA buffer and the fourth buffer starts outside
> it.
> 
> Use snd_pcm_lib_period_bytes() so the byte count matches the runtime
> format, channel count and period size.
> 
> Fixes: 02bec4904508 ("ALSA: lx6464es - driver for the digigram lx6464es interface")
> Cc: [email protected]
> Signed-off-by: Xu Rao <[email protected]>

Thanks, applied now.


Takashi
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.