[SPARC64]: Let irq_install_pre_handler() get called multiple times.
authorDavid S. Miller <davem@davemloft.net>
Thu, 29 Jun 2006 21:38:21 +0000 (14:38 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Thu, 29 Jun 2006 23:37:27 +0000 (16:37 -0700)
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/irq.c

index ab9e640df22820a5ffd9084b73258ea09042c41e..eebe02f3f4cb30a672bb8079ad3fd2dcf86f5aa6 100644 (file)
@@ -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);
 }