• Takashi Iwai's avatar
    ALSA: pci: rme: Fix unaligned buffer addresses · 43d35ccc
    Takashi Iwai authored
    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: 0899a7a2 ("ALSA: pci: rme: Set up buffer type properly")
    Cc: <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/20211108145752.30572-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    43d35ccc
hdsp.c 149 KB