forked from luck/tmp_suning_uos_patched
Don't call a NULL ack function in the generic IRQ code.
Some IRQ controllers don't need an ack function (e.g. OpenPIC on PPC platforms) and for them we'd rather not have the overhead of doing an indirect call to a function that does nothing. Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
20c8c21063
commit
beeca08738
|
@ -117,14 +117,16 @@ fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs)
|
|||
/*
|
||||
* No locking required for CPU-local interrupts:
|
||||
*/
|
||||
desc->handler->ack(irq);
|
||||
if (desc->handler->ack)
|
||||
desc->handler->ack(irq);
|
||||
action_ret = handle_IRQ_event(irq, regs, desc->action);
|
||||
desc->handler->end(irq);
|
||||
return 1;
|
||||
}
|
||||
|
||||
spin_lock(&desc->lock);
|
||||
desc->handler->ack(irq);
|
||||
if (desc->handler->ack)
|
||||
desc->handler->ack(irq);
|
||||
/*
|
||||
* REPLAY is when Linux resends an IRQ that was dropped earlier
|
||||
* WAITING is used by probe to mark irqs that are being tested
|
||||
|
|
Loading…
Reference in New Issue
Block a user