0

I think the answer is NO, but sorry I'm new to kernel and I would like to know why.

I checked kernel code and I found that when threaded irq is going to be freed, it will call kthread_stop(action->thread);

Isn't it a little risky? In linux driver we usually do HW operation in bottom halves which should not be stopped.

Did I misunderstand the behavior of kthread_stop, or it's just OK to stop the irq thread?

Adrian Hu
  • 3
  • 1

1 Answers1

0

I will answer this question myself. Before it stop action->thread, it will call synchronize_irq(irq); This will waits until no hardirq handlers are running and no threaded handlers are active.

Adrian Hu
  • 3
  • 1