alpha: fix WARN_ON in __local_bh_enable()
Ivan Kokshaysky [Wed, 12 Jan 2011 22:02:24 +0000 (22:02 +0000)]
Interrupts ought to be disabled _before_ irq_enter().

Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Matt Turner <mattst88@monolith.freenet-rz.de>

arch/alpha/kernel/irq.c

index 5912900..9ab234f 100644 (file)
@@ -160,15 +160,14 @@ handle_irq(int irq)
                return;
        }
 
-       irq_enter();
        /*
-        * handle_irq() must be called with IPL_MAX. Note that we do not
+        * From here we must proceed with IPL_MAX. Note that we do not
         * explicitly enable interrupts afterwards - some MILO PALcode
         * (namely LX164 one) seems to have severe problems with RTI
         * at IPL 0.
         */
        local_irq_disable();
+       irq_enter();
        generic_handle_irq_desc(irq, desc);
        irq_exit();
 }
-