Interrupt not getting re-enabled after handler is killed

anish singh anish198519851985 at gmail.com
Wed Aug 10 04:16:02 EDT 2011


Intention:
Wanted to modify the behavior of threaded interrupt handler
not being called after the threaded_handler was killed.

Reason:
Well there is no reason as such but just want to see what all
needs to be done to get this right.I know that what i am doing
is completely wrong as i would get a strom of irq's and device
will be unstable[1].

Modification:
I thought if i remove the below line from exit_irq_thread function
set_bit(IRQTF_DIED, &tsk->irqaction->flags);
it would do.But nothing happened then i inspected closely i found that
in-case we need to do that we have to again create kthread
which i am not doing in-case we again receive the interrupt of the killed
threaded_handler.

So i came to this conclusion:
Right now we need more that just setting the flag bit to get this right.
Is the above right ?Yes/no?

Or

if my understanding is not right then probably the interrupt controller
itself is not sending the interrupt after the thread is killed.If this is right
where is the code for that?
In my limited search i couldn't find where we are disabling the interrupt
once the threaded_handler is killed.

Hope i am clear about what i want to know.

[1] http://thread.gmane.org/gmane.linux.kernel/811061



More information about the Kernelnewbies mailing list