From 24ac26d425c96659b12cf16de7cbfe3bcbd73f05 Mon Sep 17 00:00:00 2001
From: "David S. Miller" <davem@davemloft.net>
Date: Thu, 29 Jun 2006 14:38:21 -0700
Subject: [PATCH] [SPARC64]: Let irq_install_pre_handler() get called multiple
 times.

Signed-off-by: David S. Miller <davem@davemloft.net>
---
 arch/sparc64/kernel/irq.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c
index ab9e640df22..eebe02f3f4c 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,
 	data->pre_handler_arg1 = arg1;
 	data->pre_handler_arg2 = arg2;
 
+	if (desc->chip == &sun4u_irq_ack ||
+	    desc->chip == &sun4v_irq_ack)
+		return;
+
 	desc->chip = (desc->chip == &sun4u_irq ?
 		      &sun4u_irq_ack : &sun4v_irq_ack);
 }
-- 
2.41.3