@@ -147,10 +147,8 @@ static irqreturn_t msm_datamover_irq_handler(int irq, void *dev_id)
spin_lock_irqsave(&msm_dmov_lock, irq_flags);
- int_status = readl(DMOV_ISR); /* read and clear interrupt */
- PRINT_FLOW("msm_datamover_irq_handler: DMOV_ISR %x\n", int_status);
-
- while (int_status) {
+ while (int_status = readl(DMOV_ISR)) {
+ PRINT_FLOW("msm_datamover_irq_handler: DMOV_ISR %x\n", int_status);
mask = int_status & -int_status;
id = fls(mask) - 1;
PRINT_FLOW("msm_datamover_irq_handler %08x %08x id %d\n", int_status, mask, id);