Re: [alsa-devel] ALSA sound/core/pcm_lib.c:318: BUG: pcmC0D0p:0, pos = 32768, buffer size = 32768 , period size = 2048
Patrick Doyle wrote:
On Mon, Sep 6, 2010 at 3:16 AM, Clemens Ladisch clemens@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
participants (1)
-
Clemens Ladisch