ARC: Reset the value of Interrupt Priority Register
[firefly-linux-kernel-4.4.55.git] / arch / arc / kernel / irq.c
index 5fc92455da368132960515a7eb81faa72c7717ae..02684e1a0cf05b3eb2ac776643bfb4b820317217 100644 (file)
@@ -39,10 +39,14 @@ void arc_init_IRQ(void)
        level_mask |= IS_ENABLED(CONFIG_ARC_IRQ5_LV2) << 5;
        level_mask |= IS_ENABLED(CONFIG_ARC_IRQ6_LV2) << 6;
 
-       if (level_mask) {
+       /*
+        * Write to register, even if no LV2 IRQs configured to reset it
+        * in case bootloader had mucked with it
+        */
+       write_aux_reg(AUX_IRQ_LEV, level_mask);
+
+       if (level_mask)
                pr_info("Level-2 interrupts bitset %x\n", level_mask);
-               write_aux_reg(AUX_IRQ_LEV, level_mask);
-       }
 }
 
 /*