[alsa-devel] ALSA sound/core/pcm_lib.c:318: BUG: pcmC0D0p:0, pos = 32768, buffer size = 32768 , period size = 2048
Clemens Ladisch
clemens at ladisch.de
Mon Sep 6 19:35:55 CEST 2010
Patrick Doyle wrote:
> On Mon, Sep 6, 2010 at 3:16 AM, Clemens Ladisch <clemens at ladisch.de> 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
More information about the Alsa-devel
mailing list