summaryrefslogtreecommitdiff
path: root/include/linux/interrupt.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-02-07 12:34:30 +0300
committerThomas Gleixner <tglx@linutronix.de>2011-02-19 14:58:09 +0300
commitfe200ae48ef5c79bf7941fe8046ff9505c570ff6 (patch)
tree767d2cf011437a266a655ce2ec39360cb85f7f28 /include/linux/interrupt.h
parentd05c65fff0ef672be75429266751f0e015b54d94 (diff)
downloadlinux-fe200ae48ef5c79bf7941fe8046ff9505c570ff6.tar.xz
genirq: Mark polled irqs and defer the real handler
With the chip.end() function gone we might run into a situation where a poll call runs and the real interrupt comes in, sees IRQ_INPROGRESS and disables the line. That might be a perfect working one, which will then be masked forever. So mark them polled while the poll runs. When the real handler sees IRQ_INPROGRESS it checks the poll flag and waits for the polling to complete. Add the necessary amount of sanity checks to it to avoid deadlocks. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux/interrupt.h')
0 files changed, 0 insertions, 0 deletions