[alsa-devel] [PATCH/RFC] usb: fix renesas_usbhs to not schedule in atomic context

Guennadi Liakhovetski g.liakhovetski at gmx.de
Mon Feb 6 11:11:45 CET 2012

Hi Felipe

On Sun, 5 Feb 2012, Felipe Balbi wrote:

> Hi,
> On Fri, Feb 03, 2012 at 04:43:20PM +0100, Guennadi Liakhovetski wrote:
> > The current renesas_usbhs driver triggers
> > 
> > BUG: scheduling while atomic: ksoftirqd/0/3/0x00000102
> > 
> > with enabled CONFIG_DEBUG_ATOMIC_SLEEP, by submitting DMA transfers from 
> > an atomic (tasklet) context, which is not supported by the shdma dmaengine 
> > driver. Fix it by switching to a work. Also simplify some list 
> > manipulations.
> you are doing much more than what you say.

Are those two list macro changes what you refer to as "a lot?" ;-) You're 
right in principle, they are not directly related to the purpose of this 
patch, they are just something that occurred to me, while tracking down 
DMA packets. But yes, it can be extracted to a separate cosmetic patch...

> Also, instead of using a
> workqueue, have you considered using threaded_irqs ?
> (I didn't go over the driver again to see if it makes sense to use
> threaded_irqs in this case, but doesn't hurt asking)

More information about the Alsa-devel mailing list