ALSA: pcm - fix page conversion on non-coherent MIPS arch
authorTakashi Iwai <tiwai@suse.de>
Thu, 26 Nov 2009 11:50:01 +0000 (12:50 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 27 Nov 2009 09:12:40 +0000 (10:12 +0100)
commit66b6cfacfc5aa2fda37b0d40cd54931ca5ef8cd7
tree44dc65e1a1f38f7265cc060ccc4fa29d29b751cd
parent9eb4a06788a598573c751af1a7e46639afc89513
ALSA: pcm - fix page conversion on non-coherent MIPS arch

The non-coherent MIPS arch doesn't give the correct address by a simple
virt_to_page() for pages allocated via dma_alloc_coherent().

Original patch by Wu Zhangjin <wuzj@lemote.com>.
[Ralf mentioned: "The origins of this patch go back far further.
 The oldest patch I could find which is a superset of this was written
 by Atsushi Nemoto and various incarnations of it have been sumitted
 to and reject by me a number of times through the years."]
A proper check of the buffer allocation type was added to avoid the
wrong conversion.

Note that this doesn't fix perfectly: the pages should be marked with
proper pgprot value.  This will be done in a future implementation like
the conversion to dma_mmap_coherent().

Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/pcm_native.c