summaryrefslogtreecommitdiff
path: root/sound/core/memalloc.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-09-26 10:38:21 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-09-26 10:38:21 +0200
commit67102bd31b4e31abb0abbc390381212a2d65db72 (patch)
tree904754c940eb87b951cf877f09074a7d28bc2947 /sound/core/memalloc.c
parentad5dbfc123e6ffbbde194e2a4603323e09f741ee (diff)
parentf76349cf41451c5c42a99f18a9163377e4b364ff (diff)
Merge 6.0-rc7 into usb-next
We need the USB fixes in here for other follow-on changes to be able to be applied successfully. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound/core/memalloc.c')
-rw-r--r--sound/core/memalloc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sound/core/memalloc.c b/sound/core/memalloc.c
index b665ac66ccbe..cfcd8eff4139 100644
--- a/sound/core/memalloc.c
+++ b/sound/core/memalloc.c
@@ -543,10 +543,13 @@ static void *snd_dma_noncontig_alloc(struct snd_dma_buffer *dmab, size_t size)
dmab->dev.need_sync = dma_need_sync(dmab->dev.dev,
sg_dma_address(sgt->sgl));
p = dma_vmap_noncontiguous(dmab->dev.dev, size, sgt);
- if (p)
+ if (p) {
dmab->private_data = sgt;
- else
+ /* store the first page address for convenience */
+ dmab->addr = snd_sgbuf_get_addr(dmab, 0);
+ } else {
dma_free_noncontiguous(dmab->dev.dev, size, sgt, dmab->dev.dir);
+ }
return p;
}
@@ -780,6 +783,8 @@ static void *snd_dma_sg_fallback_alloc(struct snd_dma_buffer *dmab, size_t size)
if (!p)
goto error;
dmab->private_data = sgbuf;
+ /* store the first page address for convenience */
+ dmab->addr = snd_sgbuf_get_addr(dmab, 0);
return p;
error: