desc->handle(irq, desc, regs); 
desc_handle_irq(irq, desc, regs); 
asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs){	struct irqdesc *desc = irq_desc + irq;	/*	 * Some hardware gives randomly wrong interrupts.  Rather	 * than crashing, do something sensible.	 */	if (irq >= NR_IRQS)		desc = &bad_irq_desc;	irq_enter();	spin_lock(&irq_controller_lock);	desc->handle(irq, desc, regs);	/*	 * Now re-run any pending interrupts.	 */	if (!list_empty(&irq_pending))		do_pending_irqs(regs);	irq_finish(irq);	spin_unlock(&irq_controller_lock);	irq_exit();}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/664399e1fbdceb18da9c9c5534dedd62327c63e8/irq.c/clean/arch/arm/kernel/irq.c