[PATCH] usb: dwc3: omap: remove devm_request_threaded_irq

Tony Lindgren tony at atomide.com
Fri Dec 9 15:37:29 PST 2016


* Grygorii Strashko <grygorii.strashko at ti.com> [161209 15:32]:
> 
> 
> On 12/09/2016 05:04 PM, Tony Lindgren wrote:
> > * Grygorii Strashko <grygorii.strashko at ti.com> [161209 14:46]:
> >>
> >>
> >> On 12/09/2016 03:59 PM, Tony Lindgren wrote:
> >>> * Grygorii Strashko <grygorii.strashko at ti.com> [161209 12:55]:
> >>>> Switch back from devm_request_threaded_irq() to request_threaded_irq() to
> >>>> avoid races between interrupt handler execution and PM runtime in error
> >>>> handling code path in probe and in dwc3_omap_remove():
> >>>
> >>> Can't you just call disable_irq() on the exit path instead of removing
> >>> devm?
> >>>
> >>
> >> I can. But what will be the benefit from using devm then?
> > 
> > Hmm good point. Probably the least number of code would be to just
> > do NOAUTOEN before devm_request_irq(), then only do enable_irq()
> > just before returning from the probe. After all, we don't really
> > want the irq running until the probe is done.
> > 
> > I think that would leave out the extra handling from the error
> > path?
> > 
> 
> Good question here is - do we need this irq to be enabled for sub-device
> probing from of_platform_populate()? ;)  

No!

Tony



More information about the linux-arm-kernel mailing list