1
linux/sound/core
Benjamin Herrenschmidt 3674f19dab ALSA: vmalloc buffers should use normal mmap
It's a big no-no to use pgprot_noncached() when mmap'ing such buffers
into userspace since they are mapped cachable in kernel space.

This can cause all sort of interesting things ranging from to garbled
sound to lockups on various architectures. I've observed that usb-audio
is broken on powerpc 4xx for example because of that.

Also remove the now unused snd_pcm_lib_mmap_noncached(). It's
an arch business to know when to use uncached mappings, there's
already hacks for MIPS inside snd_pcm_default_mmap() and other
archs are supposed to use dma_mmap_coherent().

(See my separate patch that adds dma_mmap_coherent() to powerpc)

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-03-25 11:13:12 +01:00
..
oss ALSA: core: sparse cleanups 2011-02-14 17:10:11 +01:00
seq sound:core:seq:seq_ports.c Remove one to many n's in a word. 2011-02-27 10:05:53 +01:00
control_compat.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
control.c Merge branch 'topic/misc' into for-linus 2011-03-18 07:39:08 +01:00
device.c ALSA: core: sparse cleanups 2011-02-14 17:10:11 +01:00
hrtimer.c ALSA: hrtimer: remove superfluous tasklet invocation 2011-02-10 18:53:32 +01:00
hwdep_compat.c
hwdep.c ALSA: hwdep - Make open callback optional 2009-02-05 09:10:20 +01:00
info_oss.c ALSA: Kill snd_assert() in sound/core/* 2008-08-13 11:46:35 +02:00
info.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
init.c tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
isadma.c ALSA: snd_dma_pointer workaround for chipsets with buggy DMA 2009-10-11 18:03:13 +02:00
jack.c ALSA: fix one memory leak in sound jack 2011-02-21 09:33:49 +01:00
Kconfig ALSA: sound/core/pcm_timer.c: use lib/gcd.c 2009-12-22 08:24:35 +01:00
Makefile ALSA: Fix SG-buffer DMA with non-coherent architectures 2009-07-08 14:20:20 +02:00
memalloc.c ALSA: core: sparse cleanups 2011-02-14 17:10:11 +01:00
memory.c [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
misc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pcm_compat.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pcm_lib.c Merge branch 'topic/misc' into for-linus 2011-01-13 08:37:14 +01:00
pcm_memory.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pcm_misc.c ALSA: core: sparse cleanups 2011-02-14 17:10:11 +01:00
pcm_native.c ALSA: vmalloc buffers should use normal mmap 2011-03-25 11:13:12 +01:00
pcm_timer.c ALSA: sound/core/pcm_timer.c: use lib/gcd.c 2009-12-22 08:24:35 +01:00
pcm.c ALSA: core: sparse cleanups 2011-02-14 17:10:11 +01:00
rawmidi_compat.c
rawmidi.c ALSA: rawmidi: fix oops (use after free) when unloading a driver module 2010-10-17 10:11:40 +02:00
rtctimer.c ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule() 2008-12-18 12:17:55 +01:00
sgbuf.c ALSA: Fix vunmap and free order in snd_free_sgbuf_pages() 2009-03-18 08:04:01 +01:00
sound_oss.c ALSA: Remove warning message for invalid OSS minor ranges 2010-01-18 14:18:55 +01:00
sound.c Merge branch 'topic/workq-update' into topic/misc 2010-12-13 09:29:52 +01:00
timer_compat.c ALSA: Kill snd_assert() in sound/core/* 2008-08-13 11:46:35 +02:00
timer.c ALSA: sound/core: merge list_del()/list_add_tail() to list_move_tail() 2011-03-16 17:35:16 +01:00
vmaster.c ALSA: core: sparse cleanups 2011-02-14 17:10:11 +01:00