From: Vladimir A. Barinov Date: Tue, 24 May 2005 17:52:49 +0000 (-0700) Subject: [PATCH] ARM: OMAP: problem with audio on h3 X-Git-Tag: v2.6.13-omap1~141 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=613beee49dafe4f27654a59a5f2573f5b9cc93e4;p=linux-2.6-omap-h63xx.git [PATCH] ARM: OMAP: problem with audio on h3 This string is needed to avoid work of the second dma channel if we need only one to send data (i.e. send only one small chunk). Otherwise it will produce: # cat /home/out.txt >/dev/dsp MUX: initialized N14_1610_UWIRE_CS0 audio_dsr_handler}-ERROR: Interrupt(3) for empty queue(h=1, T=1)??? Interrupt(3) for empty queue(h=1, T=1)??? {audio_dsr_handler}-ERROR: nbfrag=8,pendfrags=0,USR-H=1, QH-1 QT-1 MUX: initialized V5_1710_MCLK_OFF The attached patch should solve the probelm that pointed David Cohen. Signed-off-by: Vladimir A. Barinov Signed-off-by: Tony Lindgren --- diff --git a/sound/oss/omap-audio-dma-intfc.c b/sound/oss/omap-audio-dma-intfc.c index b0214627104..6ccab9a5af3 100644 --- a/sound/oss/omap-audio-dma-intfc.c +++ b/sound/oss/omap-audio-dma-intfc.c @@ -548,7 +548,7 @@ int audio_sync(struct file *file) * to complete. So it's need to unlink dma channels * to avoid empty dma work. */ - if (!cpu_is_omap1510()) + if (!cpu_is_omap1510() && AUDIO_QUEUE_EMPTY(s)) omap_sound_dma_unlink_lch(s); shiftval = s->fragsize - b->offset;