lkml.org 
[lkml]   [2021]   [Mar]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.11 014/775] ALSA: usb-audio: Fix PCM buffer allocation in non-vmalloc mode
    Date
    From: Takashi Iwai <tiwai@suse.de>

    commit fb3c293b82c31a9a68fbcf4e7a45fadd8a47ea2b upstream.

    The commit f274baa49be6 ("ALSA: usb-audio: Allow non-vmalloc buffer
    for PCM buffers") introduced the mode to allocate coherent pages for
    PCM buffers, and it used bus->controller device as its DMA device.
    It turned out, however, that bus->sysdev is a more appropriate device
    to be used for DMA mapping in HCD code.

    This patch corrects the device reference accordingly.

    Note that, on most platforms, both point to the very same device,
    hence this patch doesn't change anything practically. But on
    platforms like xhcd-plat hcd, the change becomes effective.

    Fixes: f274baa49be6 ("ALSA: usb-audio: Allow non-vmalloc buffer for PCM buffers")
    Cc: <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/20210205144559.29555-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    sound/usb/pcm.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/sound/usb/pcm.c
    +++ b/sound/usb/pcm.c
    @@ -1558,7 +1558,7 @@ void snd_usb_preallocate_buffer(struct s
    {
    struct snd_pcm *pcm = subs->stream->pcm;
    struct snd_pcm_substream *s = pcm->streams[subs->direction].substream;
    - struct device *dev = subs->dev->bus->controller;
    + struct device *dev = subs->dev->bus->sysdev;

    if (snd_usb_use_vmalloc)
    snd_pcm_set_managed_buffer(s, SNDRV_DMA_TYPE_VMALLOC,

    \
     
     \ /
      Last update: 2021-03-02 00:14    [W:4.015 / U:1.564 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site