diff options
author | David S. Miller <davem@davemloft.net> | 2006-06-29 17:38:21 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-06-29 19:37:27 -0400 |
commit | 24ac26d425c96659b12cf16de7cbfe3bcbd73f05 (patch) | |
tree | 6e2cbfad38d3f167dfa5b53b75f9e0ba1fb3ae83 /arch | |
parent | 946ea09962a56674fe564b41c3007933bb41a068 (diff) |
[SPARC64]: Let irq_install_pre_handler() get called multiple times.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sparc64/kernel/irq.c | 4 |
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 | } |