Re: [PATCH] usb: dwc3: omap: remove devm_request_threaded_irq

Tony Lindgren
2016-12-09T23:37:29Z

* Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org> [161209 15:32]:
>
>
> On 12/09/2016 05:04 PM, Tony Lindgren wrote:
> > * Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org> [161209 14:46]:
> >>
> >>
> >> On 12/09/2016 03:59 PM, Tony Lindgren wrote:
> >>> * Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org> [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