|
@@ -572,8 +572,8 @@ static int skl_link_pcm_prepare(struct snd_pcm_substream *substream,
|
|
|
|
|
|
/* In case of XRUN recovery, reset the FW pipe to clean state */
|
|
|
mconfig = skl_tplg_be_get_cpr_module(dai, substream->stream);
|
|
|
- if (mconfig && (substream->runtime->status->state ==
|
|
|
- SNDRV_PCM_STATE_XRUN))
|
|
|
+ if (mconfig && !mconfig->pipe->passthru &&
|
|
|
+ (substream->runtime->status->state == SNDRV_PCM_STATE_XRUN))
|
|
|
skl_reset_pipe(skl->skl_sst, mconfig->pipe);
|
|
|
|
|
|
return 0;
|