Hi, On Mon, Feb 06, 2012 at 11:11:45AM +0100, Guennadi Liakhovetski wrote: > 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... please do so ;-) > > 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) > > From a first glance these tasklets are not directly enough related to > IRQs, so, doing that is either impossible, or would require a _much_ > deeper change to the driver and _this_ would indeed be a much bigger > change than just fixing the Oops. I see.. so please just split the list changes to separate patch and resend. -- balbi