alpha: fix WARN_ON in __local_bh_enable()
authorIvan Kokshaysky <ink@jurassic.park.msu.ru>
Wed, 12 Jan 2011 22:02:24 +0000 (22:02 +0000)
committerMatt Turner <mattst88@monolith.freenet-rz.de>
Mon, 17 Jan 2011 04:42:16 +0000 (05:42 +0100)
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 5912900a42ebc0e00ca19492280c5380adba6062..9ab234f48dd899c2ad0f9c9a34ecbc5bc8ef449b 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();
 }
-