[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:

Thanks again

--- 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.

More information about the Alsa-devel mailing list