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

"Timo T.Hyrsylä" timo.hyrsyla at cc-systems.com
Wed Mar 18 10:01:36 CET 2009


On 13.3.2009 13:04, Takashi Iwai wrote:
> At Mon, 09 Mar 2009 12:24:51 +0100,
>  wrote:
>> 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
> 
> Alternatively, an easier "fix" would be simply disable mmap support.
> Remove SNDRV_PCM_INFO_MMAP* from snd_pcm_hardware definitions.
> 
> This may disable the conversion plugin usage in the earlier alsa-lib
> versions, though.
> 
> 
> Takashi


Tried to apply the patch changes into my version, but it did not affect 
the unloading 'bad page' problem at all. Instead it did make all play 
attempts (even non MMAP) to crash. (no crash details available since I 
desided to forget about it for now, working on unrelated issues for awhile)

I did disable the MMAP so that player wont crash when requesting MMAP.

System still dumps the bad pages at unload, play and capture seem to 
work OK, not tested extensively thou.

-- 
Timo


More information about the Alsa-devel mailing list