[alsa-devel] Interrupts and kmalloc in alsa modules

Ciaccia ciacciax at yahoo.com
Wed Apr 11 00:32:55 CEST 2007


Hi Lee,
Your guess is correct. The buffers are allocated in
the trigger callback, I attached the module source to
the my email but it got lost...?!?

Sorry for that, maybe this time it's better:
http://www.pecore.ch/test/ep93xx-i2s.c.txt

Thanks again
Andrea

--- Lee Revell <rlrevell at joe-job.com> wrote:

> On 4/10/07, Ciaccia <ciacciax at yahoo.com> wrote:
> > Could someone of you explain to me why I have to
> > enable the interrupts before calling kmalloc? The
> > strange thing is that the module never explicitly
> > turns them off (I attached the file to the mail)
> >
> 
> I guess you're allocating memory in the trigger
> callback which is
> atomic meaning that the ALSA middle layer always
> calls it with
> interrupts disabled.  It's a bug to call a function
> that can sleep
> with interrupts disabled.
> 
> The standard way to do it is to allocate your
> buffers in a callback
> that can sleep like prepare.  See numerous examples
> in other ALSA
> drivers.
> 
> Of course without seeing your code, this is all
> guesswork...
> 
> Lee
> 



       
____________________________________________________________________________________
It's here! Your new message!  
Get new email alerts with the free Yahoo! Toolbar.
http://tools.search.yahoo.com/toolbar/features/mail/


More information about the Alsa-devel mailing list