d->handle(ec->irq, d, regs); 
desc_handle_irq(ec->irq, d, regs); 
ecard_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs){	ecard_t *ec;	int called = 0;	desc->chip->mask(irq);	for (ec = cards; ec; ec = ec->next) {		int pending;		if (!ec->claimed || ec->irq == NO_IRQ || ec->slot_no == 8)			continue;		if (ec->ops && ec->ops->irqpending)			pending = ec->ops->irqpending(ec);		else			pending = ecard_default_ops.irqpending(ec);		if (pending) {			struct irqdesc *d = irq_desc + ec->irq;			d->handle(ec->irq, d, regs);			called ++;		}	}	desc->chip->unmask(irq);	if (called == 0)		ecard_check_lockup(desc);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/664399e1fbdceb18da9c9c5534dedd62327c63e8/ecard.c/buggy/arch/arm/kernel/ecard.c