aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/soc/intel/sst/sst_drv_interface.c12
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;