+3
-4
sound/core/memalloc.c
+3
-4
sound/core/memalloc.c
···
542
542
struct sg_table *sgt;
543
543
void *p;
544
544
545
+
sgt = dma_alloc_noncontiguous(dmab->dev.dev, size, dmab->dev.dir,
546
+
DEFAULT_GFP, 0);
545
547
#ifdef CONFIG_SND_DMA_SGBUF
546
-
if (!get_dma_ops(dmab->dev.dev)) {
548
+
if (!sgt && !get_dma_ops(dmab->dev.dev)) {
547
549
if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG)
548
550
dmab->dev.type = SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK;
549
551
else
···
553
551
return snd_dma_sg_fallback_alloc(dmab, size);
554
552
}
555
553
#endif
556
-
557
-
sgt = dma_alloc_noncontiguous(dmab->dev.dev, size, dmab->dev.dir,
558
-
DEFAULT_GFP, 0);
559
554
if (!sgt)
560
555
return NULL;
561
556