[alsa-devel] pcm->private_data is NULL in alsa core!!

Pharaoh . pharaoh137 at gmail.com
Wed Jun 20 12:18:02 CEST 2007


I think I have fixed the problem, atleast the value of
pcm->private_data doesn't get currupted anymore...After enabling
kernel debugging for semaphores/mutexes, I realised that code was
sleeping in a place where it was not supposed to. I dont know/didn't
check where exactly the memory was getting corrupted but after doing
appropriate lock/unlock the pcm->private_data seems looks healthy.

But now when I do cat /dev/audio/ the machine just hangs!! Looking in to it.

Clemens, I was holding mutexes in register_codec(), there it was
corrupting. Thanks for help.

-pharaoh.

On 6/19/07, Clemens Ladisch <cladisch at fastmail.net> wrote:
> Pharaoh . wrote:
> > in register codec 4 pvt data is c3d81180
> > Registering the sound card
> > in register codec 5 pvt data is c3998f20
> >
> > i.e. after registering the sound card the value changes/gets
> > corrupted, and c3998f20
> > is not the value I get everytime, so I am thinking it is corrrupted
> somehow.
>
> I'd guess the memory gets overwritten.
>
> > But back in probe, after above function are executed, i.e. after
> > register codec is over, I get the correct value for
> > eac->pcm->private_data i.e. c3d81180, but by now the value of
> > pcm->private_data is corrupted!
>
> This implies that eac->pcm != pcm.
>
> It seems quite a lot of memory gets corrupted.
> Try to check which one of the various "eac" and "pcm" pointers changes
> its value.
>
>
> HTH
> Clemens
>


More information about the Alsa-devel mailing list