forked from mirrors/linux
		
	 d9e4ad5bad
			
		
	
	
		d9e4ad5bad
		
	
	
	
	
		
			
			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
 |