From 00ff86aa2ff9e4a1344bfd0b5476b99ae96e7630 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Fri, 3 Aug 2012 12:51:21 +0200 Subject: [PATCH] --- yaml --- r: 321427 b: refs/heads/master c: fcfb7866af9a5d0280b7e51dd772990c636b7dec h: refs/heads/master i: 321425: bfb93cac3f3fcbf16c42e520f35391c75303c829 321423: 4288538dd0721bbb7784974bba8fad0644ae22f1 v: v3 --- [refs] | 2 +- trunk/sound/pci/emu10k1/memory.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index f997b3c982b0..3b43735eb0d9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c810f9039f040681ec9d9f2983b748c193037297 +refs/heads/master: fcfb7866af9a5d0280b7e51dd772990c636b7dec diff --git a/trunk/sound/pci/emu10k1/memory.c b/trunk/sound/pci/emu10k1/memory.c index 4f502a2bdc3c..0a436626182b 100644 --- a/trunk/sound/pci/emu10k1/memory.c +++ b/trunk/sound/pci/emu10k1/memory.c @@ -326,7 +326,10 @@ snd_emu10k1_alloc_pages(struct snd_emu10k1 *emu, struct snd_pcm_substream *subst for (page = blk->first_page; page <= blk->last_page; page++, idx++) { unsigned long ofs = idx << PAGE_SHIFT; dma_addr_t addr; - addr = snd_pcm_sgbuf_get_addr(substream, ofs); + if (ofs >= runtime->dma_bytes) + addr = emu->silent_page.addr; + else + addr = snd_pcm_sgbuf_get_addr(substream, ofs); if (! is_valid_page(emu, addr)) { printk(KERN_ERR "emu: failure page = %d\n", idx); mutex_unlock(&hdr->block_mutex);