Openmoko Bug #1599: Suspend / resume breaks audio

Openmoko Public Trac bugs at docs.openmoko.org
Sun Oct 5 23:50:30 CEST 2008


#1599: Suspend / resume breaks audio
-------------------------------------------+--------------------------------
    Reporter:  phyce                       |        Owner:  openmoko-kernel
        Type:  defect                      |       Status:  new            
    Priority:  normal                      |    Milestone:  Om2007.2       
   Component:  System Software             |      Version:  GTA02v5        
    Severity:  normal                      |   Resolution:                 
    Keywords:  sound audio suspend resume  |    Blockedby:                 
Reproducible:                              |     Blocking:                 
-------------------------------------------+--------------------------------

Comment(by gcasse):

 Some dmesg messages for hopefully completing bug #1599.

 * aplay is suspended (apm -s) on the FR, after resume, no more sound: the
 aplay process is hanging.

 * dmesg:
 ALSA sound/core/pcm_lib.c:155: BUG: stream = 0, pos = 0x28c8000, buffer
 size = 0x4000, period size = 0x400

 (line 155: snd_pcm_update_hw_ptr_pos).

 If the hanging aplay process is nuked then another aplay can be started
 successfully.

 -----------------------------------------------
 More details:

 * kernel 2.6.24 (5 Oct git origin/stable), defconfig-gta02 +
 CONFIG_SND_VERBOSE_PRINTK=y, CONFIG_SND_DEBUG, CONFIG_SND_DEBUG_DETECT,
 CONFIG_SND_S3C24XX_SOC_NEO1973_WM8753_DEBUG
 * alsa 1.0.15
 * dmesg:
 ...
 glamo-mci glamo-mci.0: powered (vdd = 20) clk: 16666kHz div=2 (req:
 16666kHz). Bus width=2
 soc-audio soc-audio: scheduling resume work
 PM: Finishing wakeup.
 Restarting tasks ... <6>soc-audio soc-audio: starting resume work
 done.
 usb0: full speed config #1: 500 mA, Ethernet Gadget, using CDC Ethernet
 soc-audio soc-audio: resume work completed
 dma2: channel has nothing loaded
 ALSA sound/core/pcm_lib.c:155: BUG: stream = 0, pos = 0x28c8000, buffer
 size = 0x4000, period size = 0x400
 ALSA sound/core/pcm_lib.c:155: BUG: stream = 0, pos = 0x28c8000, buffer
 size = 0x4000, period size = 0x400
 ...


 * File sound/core/pcm_lib.c, line 155:

 ...
 static inline snd_pcm_uframes_t snd_pcm_update_hw_ptr_pos(struct
 snd_pcm_substream *substream,
                                                           struct
 snd_pcm_runtime *runtime)
 {
         snd_pcm_uframes_t pos;

         pos = substream->ops->pointer(substream);
         if (pos == SNDRV_PCM_POS_XRUN)
                 return pos; /* XRUN */
         if (runtime->tstamp_mode & SNDRV_PCM_TSTAMP_MMAP)
                 getnstimeofday((struct timespec
 *)&runtime->status->tstamp);
 #ifdef CONFIG_SND_DEBUG
         if (pos >= runtime->buffer_size) {
                 snd_printk(KERN_ERR  "BUG: stream = %i, pos = 0x%lx,
 buffer size = 0x%lx, period size = 0x%lx\n", substream->stream, pos,
 runtime->buffer_size, runtime->period_size);
         }
 #endif
         pos -= pos % runtime->min_align;
         return pos;
 }
 ...

-- 
Ticket URL: <https://docs.openmoko.org/trac/ticket/1599#comment:24>
docs.openmoko.org <http://docs.openmoko.org/trac/>
openmoko trac


More information about the buglog mailing list