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

Pharaoh . pharaoh137 at gmail.com
Wed Jun 20 13:12:56 CEST 2007


On 6/20/07, Pharaoh . <pharaoh137 at gmail.com> wrote:
> 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