cpld_desc->handle(cpld_irq, cpld_desc, regs); 
desc_handle_irq(cpld_irq, cpld_desc, regs); 
static void ixdp2x00_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs){        volatile u32 ex_interrupt = 0;	static struct slowport_cfg old_cfg;	int i;	desc->chip->mask(irq);#ifdef CONFIG_ARCH_IXDP2400	if (machine_is_ixdp2400())		ixp2000_acquire_slowport(&slowport_cpld_cfg, &old_cfg);#endif        ex_interrupt = *board_irq_stat & 0xff;	if (machine_is_ixdp2400())		ixp2000_release_slowport(&old_cfg);	if(!ex_interrupt) {		printk(KERN_ERR "Spurious IXDP2x00 CPLD interrupt!\n");		return;	}	for(i = 0; i < board_irq_count; i++) {		if(ex_interrupt & (1 << i))  {			struct irqdesc *cpld_desc;			int cpld_irq = IXP2000_BOARD_IRQ(0) + i;			cpld_desc = irq_desc + cpld_irq;			cpld_desc->handle(cpld_irq, cpld_desc, regs);		}	}	desc->chip->unmask(irq);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/664399e1fbdceb18da9c9c5534dedd62327c63e8/ixdp2x00.c/buggy/arch/arm/mach-ixp2000/ixdp2x00.c