[alsa-devel] Bad page state in process 'rmmod' cs4281

Takashi Iwai tiwai at suse.de
Mon Mar 9 12:24:51 CET 2009


At Mon, 09 Mar 2009 10:32:02 +0200,
Timo T.Hyrsylä wrote:
> 
> Trying to make Alsa work on our embedded arm system with ixdp425 and CS4281.
> 
> kernel is 2.6.20.3 and the Alsas (driver+lib+utils) latest 1.0.19
> 
> Other than the two below errors, the system seems to work ok.
> 
> When removing the snd_cs4281 module, dmesg reports multiple errors about 
> bad page
> 
> <0>Bad page state in process 'rmmod'
> <0>page:c4007300 flags:0x00004000 mapping:00000000 mapcount:0 count:0
> <0>Trying to fix it up, but a reboot is needed
> <0>Backtrace:
> <0>Bad page state in process 'rmmod'
> <0>page:c4007320 flags:0x00004000 mapping:00000000 mapcount:0 count:0
> <0>Trying to fix it up, but a reboot is needed
> <0>Backtrace:
> 
> I've managed to track down the error upto dma_free_coherent.
> 
> snd_pcm_free > snd_pcm_lib_preallocate_free_for_all > 
> snd_pcm_lib_preallocate_free > snd_pcm_lib_preallocate_dma_free > 
> snd_dma_free_pages > snd_free_dev_pages > dma_free_coherent
> 
> 
> Another issue, possibly related, is that when running aplay with --mmap 
> it will crash with:
> 
> Internal error: Oops: f3 [#1]
> PC is at snd_pcm_mmap_data_nopage+0x10c/0x148 [snd_pcm]
> LR is at __handle_mm_fault+0x16c/0x8ac

This is likely the problem with dma_alloc_coherent() and mmap on
a non-coherent architecture.  I have patches for these, but only for
recent kernels.  The patches are found in test/dma-fix branch of sound
git tree:
  git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git test/dma-fix


Takashi
    


More information about the Alsa-devel mailing list