diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
index 2e09ee8d2500091df7413df8bc26075016b8de86..4e55f9d9ef43d5ed99c6eefa651e5e8773c6f28a 100644
--- a/sound/soc/sh/rcar/core.c
+++ b/sound/soc/sh/rcar/core.c
@@ -199,9 +199,8 @@ static void rsnd_dma_do_work(struct work_struct *work)
 			return;
 		}
 
+		dma_async_issue_pending(dma->chan);
 	}
-
-	dma_async_issue_pending(dma->chan);
 }
 
 int rsnd_dma_available(struct rsnd_dma *dma)