[alsa-devel] playback write error(DMA or IRQ trouble?)

Raymond Yau superquad.vortex2 at gmail.com
Fri May 20 07:22:40 CEST 2011


2011/5/20  <innoway at mymelody.com>:
>  I develop an embedded system on the Linux board with Freescale i.MX27
> (ARM processor).   I succeed on sound, which is transferred using
> Synchronous Serial Interface (SSI). It,s fine and then I try to do test
> of inserting or pulling out a USB memory stick in the USB host connector
> while sounding.   I get the following error message from
> snd_pcm_lib_write1() of <linux src>/sound /core/pcm_lib.c after waiting
> for a while (about 10sec).       playback  write error (DMA or IRQ
> trouble?)   and then from snd_pcm_drain() of <linux
> src>/sound/core/pcm_native.c      playback drain error (DMA or IRQ
> trouble?)   (No sound during this period)
>
> and then it is sounding again.
>
> I want to prevent the sound from stopping even if something happens
> suddenly such as the USB memory stick is plugged in or out.
>
> I try to fix the above programs, but I don't succeed.
>
> Can someone give me the clue?   [13:21:38]:/proc# cat interrupts
>            CPU0
>  12:       3456         -  mxc_i2c
>  16:        141          -  CSPI_IRQ
>  18:        952          -  mxcintuart
>  26:    1051255     -  MXC Timer Tick
>  28:      29446        -  PCMCIA IRQ, ide0
>  50:         33           -  fec
>  54:        793          -  ehci_hcd:usb1
>  56:          1            -  arc_udc
>  61:          0            -  LCDC
> 117:          0           -  m66291_udc
> 147:          0           -  PMIC_IRQ
> 157:     337179     -  SMSC_LAN911x_ISR
> 176:          0           -  fec(MII)
>
> [13:35:03]:/proc# cat dma
> dma channel  0: unused
> dma channel  1: unused
> dma channel  2: unused
> dma channel  3: unused
> dma channel  4: unused
> dma channel  5: unused
> dma channel  6: unused
> dma channel  7: unused
> dma channel  8: unused
> dma channel  9: unused
> dma channel 10: unused
> dma channel 11: unused
> dma channel 12: unused
> dma channel 13: unused
> dma channel 14: unused
> dma channel 15: unused   Thank you
>
> Masanori Inoue
>

This error also occur in snd-hda-intel

echo 32768 > /proc/asound/Intel/pcm0p/sub0/prealloc

speaker-test which use maximum buffer size also have (DMA or IRQ error
in system log

THis seem to be related to the schedule_timeout

		tout = schedule_timeout(msecs_to_jiffies(10000));

I guess this is why PA server treat avail  > 10 seconds is invalid


More information about the Alsa-devel mailing list