pm_runtime_get_sync() and put_sync() are not called by McBSP driver. This is introducing a problem with PM and Audio Backend due to missing get/put for McBSP IP.
Signed-off-by: Sebastien Guiriec s-guiriec@ti.com --- sound/soc/omap/omap-mcbsp.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c index 1046083..007d239 100644 --- a/sound/soc/omap/omap-mcbsp.c +++ b/sound/soc/omap/omap-mcbsp.c @@ -117,6 +117,8 @@ static int omap_mcbsp_dai_startup(struct snd_pcm_substream *substream, struct omap_mcbsp *mcbsp = snd_soc_dai_get_drvdata(cpu_dai); int err = 0;
+ pm_runtime_get_sync(mcbsp->dev); + if (!cpu_dai->active) err = omap_mcbsp_request(mcbsp);
@@ -165,6 +167,8 @@ static void omap_mcbsp_dai_shutdown(struct snd_pcm_substream *substream, omap_mcbsp_free(mcbsp); mcbsp->configured = 0; } + + pm_runtime_put_sync(mcbsp->dev); }
static int omap_mcbsp_dai_trigger(struct snd_pcm_substream *substream, int cmd,