]> 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)
commit4f898b149afa4878977217682a4b98b57d6491e6
tree6ad4a751416263c35737657b84585e06ba69ee8d
parent110138fadb1c465c6b5d24717d6ce6d96c25c8ce
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: f24dc1c6a70d ("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