]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: pci: rme: Fix unaligned buffer addresses
authorTakashi Iwai <tiwai@suse.de>
Mon, 8 Nov 2021 14:57:52 +0000 (15:57 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 8 Nov 2021 14:58:31 +0000 (15:58 +0100)
commit7d25603a2d8db1466a113bf494206416a92942fc
tree6ad4a751416263c35737657b84585e06ba69ee8d
parentbb5bc705e0cee018540e71a978f7a132d24054e1
ALSA: pci: rme: Fix unaligned buffer addresses

The recent fix for setting up the DMA buffer type on RME drivers tried
to address the non-standard memory managements and changed the DMA
buffer information to the standard snd_dma_buffer object that is
allocated at the probe time.  However, I overlooked that the RME
drivers handle the buffer addresses based on 64k alignment, and the
previous conversion broke that silently.

This patch is an attempt to fix the regression.  The snd_dma_buffer
objects are copied to the original data with the correction to the
aligned accesses, and those are passed to snd_pcm_set_runtime_buffer()
helpers instead.  The original snd_dma_buffer objects are managed by
devres, hence they'll be released automagically.

Fixes: 0df543dec1ef ("ALSA: pci: rme: Set up buffer type properly")
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20211108145752.30572-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/rme9652/hdsp.c
sound/pci/rme9652/rme9652.c