mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
![David Woodhouse](/assets/img/avatar_default.png)
Our IRQ storm detection works when an interrupt handler returns IRQ_NONE for thousands of consecutive interrupts in a second. It doesn't hurt to occasionally return IRQ_NONE when the interrupt is actually genuine. Drivers should only be returning IRQ_HANDLED if they have actually *done* something to stop an interrupt from happening — it doesn't just mean "this really *was* my device". Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Cc: davem@davemloft.net Link: http://lkml.kernel.org/r/1446016471.3405.201.camel@infradead.org Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
19 lines
464 B
C
19 lines
464 B
C
#ifndef _LINUX_IRQRETURN_H
|
|
#define _LINUX_IRQRETURN_H
|
|
|
|
/**
|
|
* enum irqreturn
|
|
* @IRQ_NONE interrupt was not from this device or was not handled
|
|
* @IRQ_HANDLED interrupt was handled by this device
|
|
* @IRQ_WAKE_THREAD handler requests to wake the handler thread
|
|
*/
|
|
enum irqreturn {
|
|
IRQ_NONE = (0 << 0),
|
|
IRQ_HANDLED = (1 << 0),
|
|
IRQ_WAKE_THREAD = (1 << 1),
|
|
};
|
|
|
|
typedef enum irqreturn irqreturn_t;
|
|
#define IRQ_RETVAL(x) ((x) ? IRQ_HANDLED : IRQ_NONE)
|
|
|
|
#endif
|