case SNDRV_PCM_TRIGGER_START:
        case SNDRV_PCM_TRIGGER_RESUME:
        case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
+               regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx),
+                                  FSL_SAI_CSR_FRDE, FSL_SAI_CSR_FRDE);
+
                regmap_update_bits(sai->regmap, FSL_SAI_RCSR,
                                   FSL_SAI_CSR_TERE, FSL_SAI_CSR_TERE);
                regmap_update_bits(sai->regmap, FSL_SAI_TCSR,
 
                regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx),
                                   FSL_SAI_CSR_xIE_MASK, FSL_SAI_FLAGS);
-               regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx),
-                                  FSL_SAI_CSR_FRDE, FSL_SAI_CSR_FRDE);
                break;
        case SNDRV_PCM_TRIGGER_STOP:
        case SNDRV_PCM_TRIGGER_SUSPEND: