Messages in this thread | | | Date | Mon, 6 Feb 2012 12:31:59 +0200 | From | Felipe Balbi <> | Subject | Re: [PATCH/RFC] usb: fix renesas_usbhs to not schedule in atomic context |
| |
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 [unhandled content-type:application/pgp-signature] | |