aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/irq.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2006-06-29 17:38:21 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2006-06-29 19:37:27 -0400
commit24ac26d425c96659b12cf16de7cbfe3bcbd73f05 (patch)
tree6e2cbfad38d3f167dfa5b53b75f9e0ba1fb3ae83 /arch/sparc64/kernel/irq.c
parent946ea09962a56674fe564b41c3007933bb41a068 (diff)
[SPARC64]: Let irq_install_pre_handler() get called multiple times.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/irq.c')
-rw-r--r--arch/sparc64/kernel/irq.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c
index ab9e640df228..eebe02f3f4cb 100644
--- a/arch/sparc64/kernel/irq.c
+++ b/arch/sparc64/kernel/irq.c
@@ -414,6 +414,10 @@ void irq_install_pre_handler(int virt_irq,
414 data->pre_handler_arg1 = arg1; 414 data->pre_handler_arg1 = arg1;
415 data->pre_handler_arg2 = arg2; 415 data->pre_handler_arg2 = arg2;
416 416
417 if (desc->chip == &sun4u_irq_ack ||
418 desc->chip == &sun4v_irq_ack)
419 return;
420
417 desc->chip = (desc->chip == &sun4u_irq ? 421 desc->chip = (desc->chip == &sun4u_irq ?
418 &sun4u_irq_ack : &sun4v_irq_ack); 422 &sun4u_irq_ack : &sun4v_irq_ack);
419} 423}