diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index cf84d8251715..736949fbb4d5 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1234,7 +1234,7 @@ static int soc_probe(struct platform_device *pdev)
 		codec_dev->remove(pdev);
 
 cpu_dai_err:
-	for (i--; i > 0; i--) {
+	for (i--; i >= 0; i--) {
 		struct snd_soc_cpu_dai *cpu_dai = machine->dai_link[i].cpu_dai;
 		if (cpu_dai->remove)
 			cpu_dai->remove(pdev);