diff options
-rw-r--r-- | sound/soc/intel/sst/sst_drv_interface.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/sound/soc/intel/sst/sst_drv_interface.c b/sound/soc/intel/sst/sst_drv_interface.c index 183b1eb95c0e..4187057fb933 100644 --- a/sound/soc/intel/sst/sst_drv_interface.c +++ b/sound/soc/intel/sst/sst_drv_interface.c | |||
@@ -163,16 +163,11 @@ static int sst_open_pcm_stream(struct device *dev, | |||
163 | if (!str_param) | 163 | if (!str_param) |
164 | return -EINVAL; | 164 | return -EINVAL; |
165 | 165 | ||
166 | retval = pm_runtime_get_sync(ctx->dev); | ||
167 | if (retval < 0) | ||
168 | return retval; | ||
169 | retval = sst_get_stream(ctx, str_param); | 166 | retval = sst_get_stream(ctx, str_param); |
170 | if (retval > 0) { | 167 | if (retval > 0) |
171 | ctx->stream_cnt++; | 168 | ctx->stream_cnt++; |
172 | } else { | 169 | else |
173 | dev_err(ctx->dev, "sst_get_stream returned err %d\n", retval); | 170 | dev_err(ctx->dev, "sst_get_stream returned err %d\n", retval); |
174 | sst_pm_runtime_put(ctx); | ||
175 | } | ||
176 | 171 | ||
177 | return retval; | 172 | return retval; |
178 | } | 173 | } |
@@ -212,7 +207,8 @@ put: | |||
212 | stream->period_elapsed = NULL; | 207 | stream->period_elapsed = NULL; |
213 | ctx->stream_cnt--; | 208 | ctx->stream_cnt--; |
214 | 209 | ||
215 | sst_pm_runtime_put(ctx); | 210 | if (retval) |
211 | dev_err(ctx->dev, "free stream returned err %d\n", retval); | ||
216 | 212 | ||
217 | dev_dbg(ctx->dev, "Exit\n"); | 213 | dev_dbg(ctx->dev, "Exit\n"); |
218 | return 0; | 214 | return 0; |