MIPS: Loongson: irq.c: Misc cleanups
[sfrench/cifs-2.6.git] / arch / mips / loongson / common / irq.c
index 20e7328319787e3554f479890ea75736575e1117..25a11df034821a700fbfc9da70c7c642e9a21b0b 100644 (file)
@@ -21,19 +21,16 @@ void bonito_irqdispatch(void)
 
        /* workaround the IO dma problem: let cpu looping to allow DMA finish */
        int_status = LOONGSON_INTISR;
-       if (int_status & (1 << 10)) {
-               while (int_status & (1 << 10)) {
-                       udelay(1);
-                       int_status = LOONGSON_INTISR;
-               }
+       while (int_status & (1 << 10)) {
+               udelay(1);
+               int_status = LOONGSON_INTISR;
        }
 
        /* Get pending sources, masked by current enables */
        int_status = LOONGSON_INTISR & LOONGSON_INTEN;
 
-       if (int_status != 0) {
+       if (int_status) {
                i = __ffs(int_status);
-               int_status &= ~(1 << i);
                do_IRQ(LOONGSON_IRQ_BASE + i);
        }
 }