[fun@kru /media/bordel/rockbox/firmware/target/arm/as3525]% git diff -w
diff --git a/firmware/target/arm/as3525/pcm-as3525.c b/firmware/target/arm/as352
index 39413ea..a0532c8 100644
--- a/firmware/target/arm/as3525/pcm-as3525.c
+++ b/firmware/target/arm/as3525/pcm-as3525.c
@@ -273,15 +273,16 @@ static void rec_dma_callback(void)
         pcm_rec_more_ready_callback(0, (void **)&rec_dma_start_addr,
                                     &rec_dma_size);

-        if(rec_dma_size != 0)
-        {
+        if(rec_dma_size == 0)
+            return;
+
             dump_dcache_range(rec_dma_start_addr, rec_dma_size);
 #if CONFIG_CPU == AS3525
             mono_samples = AS3525_UNCACHED_ADDR((int16_t*)rec_dma_start_addr);
 #endif
-            rec_dma_start();
-        }
     }
+
+    rec_dma_start();
 }

 void pcm_rec_dma_stop(void)