summaryrefslogtreecommitdiffstats
path: root/sound/soc/soc-pcm.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/soc-pcm.c')
-rw-r--r--sound/soc/soc-pcm.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index caf7028cee62..4848642ef159 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -465,6 +465,7 @@ static int soc_pcm_components_close(struct snd_pcm_substream *substream,
465 struct snd_soc_pcm_runtime *rtd = substream->private_data; 465 struct snd_soc_pcm_runtime *rtd = substream->private_data;
466 struct snd_soc_rtdcom_list *rtdcom; 466 struct snd_soc_rtdcom_list *rtdcom;
467 struct snd_soc_component *component; 467 struct snd_soc_component *component;
468 int ret = 0;
468 469
469 for_each_rtdcom(rtd, rtdcom) { 470 for_each_rtdcom(rtd, rtdcom) {
470 component = rtdcom->component; 471 component = rtdcom->component;
@@ -472,14 +473,11 @@ static int soc_pcm_components_close(struct snd_pcm_substream *substream,
472 if (component == last) 473 if (component == last)
473 break; 474 break;
474 475
475 if (component->driver->ops && 476 ret |= snd_soc_component_close(component, substream);
476 component->driver->ops->close)
477 component->driver->ops->close(substream);
478
479 snd_soc_component_module_put_when_close(component); 477 snd_soc_component_module_put_when_close(component);
480 } 478 }
481 479
482 return 0; 480 return ret;
483} 481}
484 482
485/* 483/*