Skip to content

Commit

Permalink
Don't call a NULL ack function in the generic IRQ code.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Paul Mackerras committed Sep 28, 2005
1 parent 20c8c21 commit beeca08
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions kernel/irq/handle.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit beeca08

Please sign in to comment.