On Mon, Jul 28, 2014 at 07:48:12PM +0530, Vinod Koul wrote: > On Mon, Jul 28, 2014 at 12:14:02PM +0200, Maxime Ripard wrote: > > On Fri, Jul 25, 2014 at 10:12:18PM +0530, Vinod Koul wrote: > > > On Fri, Jul 25, 2014 at 06:37:46PM +0200, Maxime Ripard wrote: > > > > > Can you please send follow patches for these: > > > > > - don't recall if I pointed earlier, but can we use direct conversion > > > > > for > > > > > calculating convert_burst() and convert_buswidth(), latter one at > > > > > least > > > > > seem doable > > > > > > > > Ok. Do you still want the error reporting for the invalid width and > > > > burst size? > > > I think for convert_buswidth() we can do away with a switch case and > > > convert > > > the numbers directly > > > > Well, it's already using a switch. Do you want me to remove completely > > the function and move the switch where it's used? It's used two times > > now, so I'd like to avoid duplicating it. > You can probably remove switch in these function by converting them > arithmetically.. > > > > > > - don't use devm_request_irq(). You have irq enabled and you have > > > > > killed > > > > > tasklet. This is too racy. You need to ensure no irqs can be > > > > > generated before killing > > > > > tasklets. > > > > > > > > Ok, would calling disable_irq before killing the tasklet an option for > > > > you ? that would allow to keep the devm_request_irq. > > > disable_irq also does syncronize, so it might work. But then again if the > > > probe fails after registering irq due to some other reason, and you get > > > into > > > races with unitialized driver as well. > > > > > > I think it might be easier to amnge by working with plain old > > > request_irq() > > > > Yes, devm_free_irq like Russell suggested seems to both address your > > concerns, while not having to care about it at probe. > OK, pls send the fix
Ok, will do tomorrow. Thanks! Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
signature.asc
Description: Digital signature