}
        /* other irq's handled in the tasklet */
        if (reg & PCXHR_IRQ_MASK) {
- 
-               /* as we didn't request any notifications, some kind of xrun error
-                * will probably occured
-                */
-               /* better resynchronize all streams next interrupt : */
-               mgr->dsp_time_last = PCXHR_DSP_TIME_INVALID;
-               
+               if (reg & PCXHR_IRQ_ASYNC) {
+                       /* as we didn't request any async notifications,
+                        * some kind of xrun error will probably occured
+                        */
+                       /* better resynchronize all streams next interrupt : */
+                       mgr->dsp_time_last = PCXHR_DSP_TIME_INVALID;
+               }
                mgr->src_it_dsp = reg;
 -              tasklet_hi_schedule(&mgr->msg_taskq);
 +              tasklet_schedule(&mgr->msg_taskq);
        }
  #ifdef CONFIG_SND_DEBUG_VERBOSE
        if (reg & PCXHR_FATAL_DSP_ERR)