diff --git a/include/sound/memalloc.h b/include/sound/memalloc.h index c42506212649..ab240bb608a8 100644 --- a/include/sound/memalloc.h +++ b/include/sound/memalloc.h @@ -101,7 +101,7 @@ static inline unsigned int snd_sgbuf_aligned_pages(size_t size) static inline dma_addr_t snd_sgbuf_get_addr(struct snd_sg_buf *sgbuf, size_t offset) { dma_addr_t addr = sgbuf->table[offset >> PAGE_SHIFT].addr; - addr &= PAGE_MASK; + addr &= ~((dma_addr_t)PAGE_SIZE - 1); return addr + offset % PAGE_SIZE; }