On Mon, 1 Jul 2019, Peter Zijlstra wrote:

> On Fri, Jun 28, 2019 at 01:11:50PM +0200, Thomas Gleixner wrote:
> > The function might sleep, so it cannot be called from interrupt
> > context. Not even with care.
> > 
> > Signed-off-by: Thomas Gleixner <[email protected]>
> > ---
> >  kernel/irq/manage.c |    3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > --- a/kernel/irq/manage.c
> > +++ b/kernel/irq/manage.c
> > @@ -96,7 +96,8 @@ EXPORT_SYMBOL(synchronize_hardirq);
> >   * to complete before returning. If you use this function while
> >   * holding a resource the IRQ handler may need you will deadlock.
> >   *
> > - * This function may be called - with care - from IRQ context.
> > + * Can only be called from preemptible code as it might sleep when
> > + * an interrupt thread is associated to @irq.
> >   */
> >  void synchronize_irq(unsigned int irq)
> >  {
> 
> +     might_sleep();
> 
> ?

  ....

        wait_event()
          might_sleep() ...

?

Reply via email to