mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	irqchip: gic: Call handle_bad_irq() directly
Previously, the gic_handle_cascade_irq() function was calling the ARM-specific do_bad_IRQ() function which calls handle_bad_irq() after acquiring the desk->lock. Locking the cascaded IRQ desc is not needed for error reporting, so just call handle_bad_irq() directly. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Tested-by: Marc Zyngier <marc.zyngier@arm.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Rob Herring <rob.herring@calxeda.com>
This commit is contained in:
		
							parent
							
								
									de88cbb7b2
								
							
						
					
					
						commit
						aec0095653
					
				
					 1 changed files with 1 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -44,7 +44,6 @@
 | 
			
		|||
#include <asm/irq.h>
 | 
			
		||||
#include <asm/exception.h>
 | 
			
		||||
#include <asm/smp_plat.h>
 | 
			
		||||
#include <asm/mach/irq.h>
 | 
			
		||||
 | 
			
		||||
#include "irqchip.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -324,7 +323,7 @@ static void gic_handle_cascade_irq(unsigned int irq, struct irq_desc *desc)
 | 
			
		|||
 | 
			
		||||
	cascade_irq = irq_find_mapping(chip_data->domain, gic_irq);
 | 
			
		||||
	if (unlikely(gic_irq < 32 || gic_irq > 1020))
 | 
			
		||||
		do_bad_IRQ(cascade_irq, desc);
 | 
			
		||||
		handle_bad_irq(cascade_irq, desc);
 | 
			
		||||
	else
 | 
			
		||||
		generic_handle_irq(cascade_irq);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue