Merge branch 'fix/hda' of git://github.com/tiwai/sound
[pandora-kernel.git] / arch / mips / alchemy / devboards / bcsr.c
index f91c43a..463d2c4 100644 (file)
@@ -89,8 +89,12 @@ static void bcsr_csc_handler(unsigned int irq, struct irq_desc *d)
 {
        unsigned short bisr = __raw_readw(bcsr_virt + BCSR_REG_INTSTAT);
 
+       disable_irq_nosync(irq);
+
        for ( ; bisr; bisr &= bisr - 1)
                generic_handle_irq(bcsr_csc_base + __ffs(bisr));
+
+       enable_irq(irq);
 }
 
 /* NOTE: both the enable and mask bits must be cleared, otherwise the
@@ -142,8 +146,8 @@ void __init bcsr_init_irq(int csc_start, int csc_end, int hook_irq)
        bcsr_csc_base = csc_start;
 
        for (irq = csc_start; irq <= csc_end; irq++)
-               set_irq_chip_and_handler_name(irq, &bcsr_irq_type,
-                       handle_level_irq, "level");
+               irq_set_chip_and_handler_name(irq, &bcsr_irq_type,
+                                             handle_level_irq, "level");
 
-       set_irq_chained_handler(hook_irq, bcsr_csc_handler);
+       irq_set_chained_handler(hook_irq, bcsr_csc_handler);
 }