diff options
| -rw-r--r-- | sound/soc/soc-pcm.c | 21 | 
1 files changed, 14 insertions, 7 deletions
| diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c index 74d340d1c9f7..c0018293c67b 100644 --- a/sound/soc/soc-pcm.c +++ b/sound/soc/soc-pcm.c @@ -28,6 +28,15 @@  #define DPCM_MAX_BE_USERS	8 +static int soc_rtd_startup(struct snd_soc_pcm_runtime *rtd, +			   struct snd_pcm_substream *substream) +{ +	if (rtd->dai_link->ops && +	    rtd->dai_link->ops->startup) +		return rtd->dai_link->ops->startup(substream); +	return 0; +} +  /**   * snd_soc_runtime_activate() - Increment active count for PCM runtime components   * @rtd: ASoC PCM runtime that is activated @@ -522,13 +531,11 @@ static int soc_pcm_open(struct snd_pcm_substream *substream)  			codec_dai->rx_mask = 0;  	} -	if (rtd->dai_link->ops->startup) { -		ret = rtd->dai_link->ops->startup(substream); -		if (ret < 0) { -			pr_err("ASoC: %s startup failed: %d\n", -			       rtd->dai_link->name, ret); -			goto machine_err; -		} +	ret = soc_rtd_startup(rtd, substream); +	if (ret < 0) { +		pr_err("ASoC: %s startup failed: %d\n", +		       rtd->dai_link->name, ret); +		goto machine_err;  	}  	/* Dynamic PCM DAI links compat checks use dynamic capabilities */ | 
