Patrick Doyle wrote: > On Mon, Sep 6, 2010 at 3:16 AM, Clemens Ladisch <clemens@xxxxxxxxxx> wrote: > > Patrick Doyle wrote: > > > pos = 32768, buffer size = 32768 > > > > This means that the driver's pointer callback returned a position that > > is outside the buffer; in this case, the position is just after the end > > of the buffer. > > OK, so I should go trace down how and when the driver invokes that > callback. That callback is invoked by the ALSA framework. The callback itself is buggy. > Hmmm... any tips on where I might start that journey, given that this > driver is an SoC driver? bf5xx_pcm_pointer() in soc/blackfin/bf5xx-i2s-pcm.c calls sport_curr_offset_tx() in soc/blackfin/bf5xx-sport.c, which just calls get_dma_curr_addr(). I'd guess that the end of the buffer is considered a valid address by the Blackfin's DMA unit, so the driver has to check for that and wrap it around to zero. Regards, Clemens _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel